Cóż, dla liczb całkowitych użyłbym NSNumber
. Ale TAK i NIE to chyba obiekty. Afaik Mogę dodawać obiekty tylko do NSDictionary
, prawda?
Nie udało mi się znaleźć żadnej klasy otoki dla wartości logicznych. Czy jest jakiś?
objective-c
iphone
cocoa-touch
uikit
Dzięki
źródło
źródło
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], @"someKey", nil];
@YES
jest taki sam jak[NSNumber numberWithBool:YES]
Nowa składnia od
Apple LLVM Compiler 4.0
Składnia jest konwertowana
BOOL
naNSNumber
, co jest akceptowalne dlaNSDictionary
.źródło
Jeśli deklarujesz go jako literał i używasz clang w wersji 3.1 lub nowszej, powinieneś użyć @NO / @YES, jeśli deklarujesz go jako literał. Na przykład
Więcej informacji na ten temat:
http://clang.llvm.org/docs/ObjectiveCLiterals.html
źródło
NSDictionary
, a nieNSMutableDictionary
. Więc przypisanie@YES
dofoo[@"bar"]
nie jest możliwe, ponieważ@{ @"key": @NO }
nie jest zmienne.Jak zauważył jcampbell1 , teraz możesz użyć dosłownej składni dla NSNumbers:
źródło
Spróbuj tego:
Wynik będzie następujący:
Wartość logiczna jest PRAWDA dla „ Pratik ”
Boolean jest FAŁSZ dla „ Sachin ”
źródło
[NSNumber numberWithBool:NO]
i[NSNumber numberWithBool:YES]
.