Я не думаю, что вы понимаете, как использовать определение директивы.
Все этой линии ...
#define loggedIn 0
... это заставит компилятор заменить ноль везде в коде, который появляется текст «LoggedIn».
Итак, если у вас есть код, который говорит:
if (loggedIn) {
//... load one nib
}else{
// .... load another nib
}
Компилятор превращает это в:
if (0) {
//... load one nib
}else{
// .... load another nib
}
В этом случае, ноль будет вычисляться в ложь, а второй наконечник всегда будет загружен ,
Эти типы определений используются таким образом в разработке, поэтому вы можете принудительно приложить приложение к определенному состоянию. Например, если вы хотите повторить второй бит, вы должны определить «loggedIn» равным нулю, и если вы хотите проверить первое, вы должны определить «loggedIN» как 1.
Что вам нужно сделать, это сделать проверить какой-то вид, чтобы узнать, вошел ли пользователь в систему. Я не знаю, какой будет этот тест, так как он зависит от того, что вы регистрируете. Затем, в зависимости от результатов этого теста, вы загружаете один наконечник или другой.
Директива define не имеет никакого отношения к этому.
Подумайте, как вы будете использовать 'loggedIn', а затем снова просмотрите свой вопрос. –