2011-08-04 8 views

Odpowiedz

29

NSNumber jest NSValue. [NSNumber numberWithBool:YES] jest już opakowany w NSValue dla ciebie

+0

dzięki wiedział, że missunderstanding coś tutaj! – tiltem

+0

Jeśli rzeczywiście chcesz użyć wartości NSV sprawdź moją odpowiedź poniżej. NSValue jest lżejsza, gdy nie potrzebujesz dodatkowych funkcji, które zapewnia NSNumber. – jasonjwwilliams

1

Oto przykład kodu, który można rozwinąć po odpowiedzi Joshua Weinberga.

➤ celu przekształcenia pierwotnych BOOL do obiektu pseudo-logiczna:

NSNumber* isWinning = [NSNumber numberWithBool:YES]; 

➤ celu przekształcenia obiektu pseudo-logiczna z pierwotnego BOOL:

BOOL winner = [isWinning boolValue]; 

Patrz NSNumber odniesienia klasy.

1

W rzeczywistości NSNumber jest cięższym potomkiem NSValue. Jeśli rzeczywiście chcesz używać NSValue oto jak chcesz to zrobić:

BOOL bool_value = YES; 
[NSValue valueWithBytes:&bool_value objCType:@encode(BOOL)] 
0

Użyj Objective-C dosłowne:

@(YES)