Masz problemy z zawijaniem wartości BOOL w NSValue.Jak owinąć BOOL w NSValue
Próbowałem to:
[NSValue valueWithPointer:[NSNumber numberWithBool:YES]]
Masz problemy z zawijaniem wartości BOOL w NSValue.Jak owinąć BOOL w NSValue
Próbowałem to:
[NSValue valueWithPointer:[NSNumber numberWithBool:YES]]
NSNumber jest NSValue. [NSNumber numberWithBool:YES]
jest już opakowany w NSValue dla ciebie
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.
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)]
Użyj Objective-C dosłowne:
@(YES)
dzięki wiedział, że missunderstanding coś tutaj! – tiltem
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