2011-06-03 82 views
1

我希望瞭解如何重寫這一行代碼以消除編譯器警告。該代碼是:格式不是字符串文字

if (string == nil) 
     [NSException raise:NSInvalidArgumentException format:nil]; 

的警告是:

Format not a string literal and no format arguments. 

我發現有關的NSLog的答案,而不是NSException。

JAL

回答

6

該錯誤適用於任何需要格式字符串的內容。您只需用@""更換nil,如:

[NSException raise:NSInvalidArgumentException format:@""]; 
+0

感謝。那樣做了。 – JAL 2011-06-03 06:03:19

1

這是因爲編譯器期望的格式參數的格式字符串,而不是一個字符串(常量字符串)(類型@「%@」) 。嘗試給一個空字符串@「」它應該工作。

[NSException raise:NSInvalidArgumentException format:@""]; 

這是更好地解釋here

+0

@Ramesh ...感謝您的鏈接。 – JAL 2011-06-03 06:15:32

相關問題