Nah, untuk integer yang akan saya gunakan NSNumber
. Tapi YA dan TIDAK bukanlah objek, kurasa. Afaik saya hanya bisa menambahkan objek ke sebuah NSDictionary
, kan?
Saya tidak dapat menemukan kelas pembungkus untuk boolean. Apakah ada?
objective-c
iphone
cocoa-touch
uikit
Terima kasih
sumber
sumber
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], @"someKey", nil];
@YES
adalah sama dengan[NSNumber numberWithBool:YES]
Sintaks baru sejak
Apple LLVM Compiler 4.0
Sintaksnya diubah
BOOL
menjadiNSNumber
, yang dapat diterima menjadiNSDictionary
.sumber
Jika Anda mendeklarasikannya sebagai literal dan menggunakan clang v3.1 atau yang lebih baru, Anda harus menggunakan @NO / @YES jika Anda mendeklarasikannya sebagai literal. Misalnya
Untuk info lebih lanjut tentang itu:
http://clang.llvm.org/docs/ObjectiveCLiterals.html
sumber
NSDictionary
, bukanNSMutableDictionary
. Jadi penugasan@YES
kefoo[@"bar"]
tidak mungkin karena@{ @"key": @NO }
tidak bisa diubah.Seperti yang ditunjukkan jcampbell1 , sekarang Anda dapat menggunakan sintaks literal untuk NSNumbers:
sumber
Coba ini:
Outputnya adalah sebagai berikut:
Boolean BENAR untuk ' Pratik '
Boolean SALAH untuk ' Sachin '
sumber
[NSNumber numberWithBool:NO]
dan[NSNumber numberWithBool:YES]
.