Как Objective-C может получить недействительный бул?

Как мне получить значение bool, которому я могу присвоить true, false и nil в Objective-C? Как Objective-C способ сделать это? Очень похоже на C #'s Nullable.

Я ищу возможность использовать значение nil для представления неопределенного.

16
задан Greg Sexton 28 April 2012 в 11:14
поделиться

2 ответа

Экземпляр NSNumber может помочь. Например:

NSNumber *yesNoOrNil;

yesNoOrNil = [NSNumber numberWithBool:YES]; // set to YES
yesNoOrNil = [NSNumber numberWithBool:NO];  // set to NO
yesNoOrNil = nil; // not set to YES or NO

Для определения его значения:

if (yesNoOrNil == nil)
{
    NSLog (@"Value is missing!");
}
else if ([yesNoOrNil boolValue] == YES)
{
    NSLog (@"Value is YES");
}
else if ([yesNoOrNil boolValue] == NO)
{
    NSLog (@"Value is NO");
}

На всех платформах Mac OS X после 10.3 и всех платформах iPhone OS метод -[NSNumber boolValue] гарантированно возвращает YES или NO.

31
ответ дан 30 November 2019 в 17:26
поделиться

Думаю, для этого вам понадобится какой-нибудь класс, например обернуть bool в объект NSNumber .

1
ответ дан 30 November 2019 в 17:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: