NSInteger myInt = 1804809223;
NSLog(@"%i", myInt); <====
Yukarıdaki kod bir hata üretir:
'NSInteger' türündeki değerler biçim bağımsız değişkenleri olarak kullanılmamalıdır; bunun yerine "uzun" a açık bir döküm ekleyin
Düzeltilen NSLogmesaj aslında NSLog(@"%lg", (long) myInt);. Neden tamsayı değeri dönüştürmek zorunda myIntiçin longben ekrana değeri isterseniz?
NSIntegerolduğu değil uzunluğunda), ancak (OS X hedef ile topluyoruz gibi geliyor NSInteger ise long ).
NSLog(@"%ld", (long) myInt);,longdöküm onunla maç yapmaktırlarasında eleme%ld, ancak bütün bunlar gereksizdirNSLog(@"%d", myInt);(yeterli biz görüyoruz ki göz önüne alındığındamyIntdeğillong. Alt satırda, dökmemyIntbiçiminde uzun eleme kullanılıyorsa dize, ancak uzun dize biçimi niteleyicisi kullanmaya veyalongburada yayınlamaya gerek yok