unichar c;
c = [myString characterAtIndex:0];
unichar catchcar = [c lowercaseString];
錯誤:無效的接收器類型unicar。我知道lowercaseString
是用來隱藏String不是字符。有沒有解決方法?如何將小寫字符轉換爲大寫?
unichar c;
c = [myString characterAtIndex:0];
unichar catchcar = [c lowercaseString];
錯誤:無效的接收器類型unicar。我知道lowercaseString
是用來隱藏String不是字符。有沒有解決方法?如何將小寫字符轉換爲大寫?
,你可以做到以下幾點:
unichar catchcar = [[myString lowercaseString] characterAtIndex: 0];
如果你只有一個字符,請執行以下操作:
// given unichar c
unichar catchcar = [[[NSString stringWithCharacters:&c length:1] lowercaseString] characterAtIndex: 0];
fileName = [[NSBundle mainBundle] pathForResource:catchar ofType:@「txt」];正在拋出一個錯誤。我正在將catchar傳遞給文件名。 – user426795 2010-08-25 15:50:59
@ user426795 - 你爲什麼要將unichar傳遞給一個需要NSString的方法?在這種情況下只需使用NSString。 – 2010-08-25 17:18:12
unichar c = [[myString lowercaseString] characterAtIndex:0];
試試這個。
在單個字符上轉換大小寫的最簡單方法是使用C函數tolower
和toupper
。使用從問題的代碼示例和重寫,會給這個轉換爲小寫:
#import <ctype.h>
unichar catchcar = tolower([myString characterAtIndex:0]);
無需做任何NSString的API複雜。並且不需要首先將整個字符串變成小寫字母。
希望這有助於
埃裏克
你爲什麼不只是使字符串小寫從中檢索字符前? – Neutralizer 2010-08-25 15:35:03
@Ashraf,我做了,它的工作原理。 – user426795 2010-08-25 15:52:07