2010-08-25 73 views
1
unichar c; 

c = [myString characterAtIndex:0]; 

unichar catchcar = [c lowercaseString]; 

錯誤:無效的接收器類型unicar。我知道lowercaseString是用來隱藏String不是字符。有沒有解決方法?如何將小寫字符轉換爲大寫?

+1

你爲什麼不只是使字符串小寫從中檢索字符前? – Neutralizer 2010-08-25 15:35:03

+0

@Ashraf,我做了,它的工作原理。 – user426795 2010-08-25 15:52:07

回答

8

,你可以做到以下幾點:

unichar catchcar = [[myString lowercaseString] characterAtIndex: 0]; 

如果你只有一個字符,請執行以下操作:

// given unichar c 

unichar catchcar = [[[NSString stringWithCharacters:&c length:1] lowercaseString] characterAtIndex: 0]; 
+0

fileName = [[NSBundle mainBundle] pathForResource:catchar ofType:@「txt」];正在拋出一個錯誤。我正在將catchar傳遞給文件名。 – user426795 2010-08-25 15:50:59

+0

@ user426795 - 你爲什麼要將unichar傳遞給一個需要NSString的方法?在這種情況下只需使用NSString。 – 2010-08-25 17:18:12

1
unichar c = [[myString lowercaseString] characterAtIndex:0]; 

試試這個。

2

在單個字符上轉換大小寫的最簡單方法是使用C函數tolowertoupper。使用從問題的代碼示例和重寫,會給這個轉換爲小寫:

#import <ctype.h> 

unichar catchcar = tolower([myString characterAtIndex:0]); 

無需做任何NSString的API複雜。並且不需要首先將整個字符串變成小寫字母。

希望這有助於

埃裏克

相關問題