→ yuanruo:轉成long 或是long NSInteger 或是(long long) 12/18 22:56
→ uranusjr:NSInteger 在 64-bit 下直接就是 long 了 (不然你以為他 12/19 10:22
→ uranusjr:們是 typedef 爽的嗎...), 發文人的問題是在其他地方混用 12/19 10:23
→ uranusjr:了 int, 需要修正 (或明確轉型) 12/19 10:23
→ yuanruo:喔~那就在原本NSInteger的地方轉回(int) 我記得objc下 12/19 13:25
→ yuanruo:不管32位元和64位元NSinteger都佔用4位元空間吧 12/19 13:25
→ yuanruo:或是就原本用int地方改成NSInteger 他是自動定義會幫轉 12/19 13:29
不好意思 沒說清楚
像是是我用 NSLog(@"%d", SOME_NSINTEGER);
或 [NSString stringWithFormat:@"%d", SOME_NSINTEGER];
我舊的project用xcode 5開起來編譯都沒問題
可是用xcode 5開新project到64bit編譯就會有warning(叫我用%ld)
實在不懂是那裡出了問題
※ 編輯: fightword 來自: 114.32.197.140 (12/22 19:33)
→ yuanruo:根據官方文檔 你用NSInteger時 你輸出時改成(long) 用%ld 12/22 22:24
y大 我想是我敘述不清 改%ld我試過
問題這樣1個project 就要根據32bit或64bit分2個project
理論上 Xcode應該沒這麼笨吧?
有沒有辦法可以在管1個project上就作到?
設定值之類的
推 dreambird:你沒注意到改完%ld以後XCode還有建議你轉型嗎? 12/24 20:13
→ DLMC:給原po,y大提供的資料寫得很清楚,除了改成%ld外,還要 12/26 17:42
→ DLMC:cast 成 (long) 12/26 17:42
想問一下 這樣32bit不會被影響嗎?
※ 編輯: fightword 來自: 114.32.190.119 (12/27 09:43)
推 Blueshiva:這直接自己試一下就好了吧... 12/27 10:06