Bem, para inteiros eu usaria NSNumber
. Mas SIM e NÃO não são objetos, eu acho. Afaik Eu só posso adicionar objetos a um NSDictionary
, certo?
Não consegui encontrar nenhuma classe de wrapper para booleanos. Existe algum?
objective-c
iphone
cocoa-touch
uikit
obrigado
fonte
fonte
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], @"someKey", nil];
@YES
é o mesmo que[NSNumber numberWithBool:YES]
A nova sintaxe desde
Apple LLVM Compiler 4.0
A sintaxe converte
BOOL
emNSNumber
, o que é aceitável paraNSDictionary
.fonte
Se você estiver declarando-o como literal e estiver usando o clang v3.1 ou superior, deverá usar @NO / @YES se estiver declarando-o como literal. Por exemplo
Para mais informações sobre isso:
http://clang.llvm.org/docs/ObjectiveCLiterals.html
fonte
NSDictionary
, não umNSMutableDictionary
. Portanto, atribuir@YES
afoo[@"bar"]
não é possível, pois@{ @"key": @NO }
não é mutável.Como jcampbell1 apontou, agora você pode usar a sintaxe literal para NSNumbers:
fonte
Experimente isto:
A saída será a seguinte:
Boolean é TRUE para ' Pratik '
Booleano é FALSO para ' Sachin '
fonte
[NSNumber numberWithBool:NO]
e[NSNumber numberWithBool:YES]
.