在使用XCode編寫代碼的時(shí)候聲明一個(gè)方法,如果出現(xiàn)“‘xxx’ used as the name of the previous parameter rather than as part of the selector”警告,這個(gè)警告雖然不會影響程序的運(yùn)行,但是在閱讀代碼和編譯時(shí),總會出現(xiàn)一個(gè)黃色的按鈕,總是讓人看著不那么舒服。
例如:- (NSString *)setString:(NSString *)string1:(NSString *)string2 。聲明這個(gè)方法后就會出現(xiàn)警告,這樣的警告通常是由聲明方法而不對制定參數(shù)進(jìn)行描述引起的--第一個(gè)參數(shù)和冒號之間沒有參數(shù)描述或者空格。當(dāng)然,如果按照正常的編程習(xí)慣,這種警告是不會出現(xiàn)的。但是在進(jìn)行快速迭代的開發(fā)過程中,在時(shí)間緊迫的情況下,不排除這樣的情況出現(xiàn)的可能(粗心大意或者省懶事兒)。
接下來就是解決辦法:
1、用空格隔開:- (NSString *)setString:(NSString *)string1 :(NSString *)string2
(按照正常的編程習(xí)慣不推薦,閱讀性太差/(ㄒoㄒ)/~~)
2、增加參數(shù)描述
- (NSString *)setString:(NSString *)string1 String:(NSString *)string2
(強(qiáng)烈建議這樣聲明)
3、在相關(guān)位置添加
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmissing-selector-name"
// 在這聲明方法
#pragma clang diagnostic pop
4、在target的 build settings下 搜索other warning flags 添加:
-Wmissing-selector-name
方法4可以解決整個(gè)項(xiàng)目中的這樣的問題,還可以用這樣的辦法去掉其他警告,只需替換掉添加的字符串。
雖然警告對程序運(yùn)行沒有影響,但是記得有位老師說過,警告就是錯(cuò)誤。所以說編程時(shí)一定要細(xì)心,遵循正確的編程語言語法和習(xí)慣。