Misalnya saat menyampaikan value
pesan ke NSInteger
instance seperti itu
[a value]
itu menyebabkan EXC_BAD_ACCESS.
Jadi bagaimana mengkonversi NSInteger
ke int
?
Jika relevan hanya angka kecil <32 yang digunakan.
objective-c
cocoa
nsinteger
Jeffrey
sumber
sumber
Jawaban:
Ta da:
NSInteger
tidak lebih dari int 32/64 bit. (ini akan menggunakan ukuran yang sesuai berdasarkan OS / platform apa yang Anda jalankan)sumber
Jika Anda ingin melakukan ini sebaris, cukup transmisikan
NSUInteger
atauNSInteger
keint
:sumber
NSInteger
nilai sebagai penggantiint
. Dalam kedua kasus ini, ini bukan solusi multi-garis.Saya tidak yakin tentang keadaan di mana Anda perlu mengonversi
NSInteger
menjadiint
.NSInteger hanyalah typedef:
NSInteger Digunakan untuk mendeskripsikan integer secara independen apakah Anda sedang membuat untuk sistem 32-bit atau 64-bit.
Anda dapat menggunakan
NSInteger
tempat mana pun yang Anda gunakanint
tanpa mengubahnya.sumber
Biasanya digunakan di UIsegmentedControl, "error" muncul saat mengompilasi dalam 64bits, bukan 32bits, cara mudah untuk tidak meneruskannya ke variabel baru adalah dengan menggunakan tips ini, tambahkan (int) :
dari pada :
sumber