2014-05-25 44 views
3

我試圖將NSUInteger轉換爲字符串,以便我可以打印消息。從搜索,似乎我需要使用stringWithFormat,但我得到一個錯誤,隱式轉換不允許使用ARC。將NSUInteger轉換爲帶有字符串的ARC

這裏是有問題的行:

NSString *text = [[NSString stringWithFormat: (@"%li", NSUInteger)]; 

我試圖改變格式說明符%祿沒有幫助。

謝謝。

+1

嘗試[NSString stringWithFormat:@「%li」,unsignedinteger]; – limon

+2

爲什麼括號?你試圖格式化的價值在哪裏? – rmaddy

+1

@matt - 錯誤的重複。這個問題歸結爲無效圓括號的問題,而不是類型轉換的問題。 – rmaddy

回答

22

你可能有型NSUInteger像

NSUInteger myNumber; 

一個變量,東西然後你就可以將其轉換爲一個像這樣的字符串:

NSString *text = [NSString stringWithFormat:@"%li", myNumber]; 

,我現在更喜歡一個解決辦法是此:

NSString *text = [NSString stringWithFormat:@"%@", @(myNumber)]; 

這有助於避免關於不正確的數字格式代碼的編譯警告(很長一段時間後我仍然感到困惑)。

+0

我在一個變量中有一個NSUInteger,但該行給我的錯誤是「在ARC下不允許NSUInteger的隱式轉換」。您的解決方案是我在網上找到的,但對我無效。 – tangobango

+2

擺脫括號。 – rmaddy

+0

@rmaddy謝謝。我複製了原始代碼並沒有注意到它們。 – Macondo2Seattle

相關問題