2
我認爲這是一個相對簡單的問題,但我不知道知道發生了什麼。Objective-C「miscasting」使用stringWithFormat和%d的字符串/ int
我試圖使用的NSString的stringWithFormat
它看起來像這樣建立一個字符串的方法:
NSString *line1 = [NSString stringWithFormat:@"the car is %d miles away", self.ma];
在上述行「self.ma」應該是一個整數,但在我情況下,我犯了一個錯誤,「self.ma」實際上指向一個NSString。
所以,據我所知,該行應
NSString *line1 = [NSString stringWithFormat:@"the car is %@ miles away", self.ma];
但我的問題是什麼是在第一個例子做我的NSString的%d?
如果我使用調試器,我可以看到,在一次的情況下,「self.ma」等於「32444」,但不知何故%d將其轉換爲1255296.
我就已經猜到了32444 => 1255296的轉換是某種類型的基本編號轉換(十六進制到十進制或其他),但似乎並非如此。
有關%d對我的字符串做了什麼的任何想法?
TIA