我正在使用sqlite數據庫。 我從sqlite數據庫檢索文本數據到名爲myArray的NSMutableArray。 在那個myArray變量中,有一列名爲「info」的文本數據。 之後我找回數據到NSMutableArray裏,我想所有的文本數據轉換的從SQLite數據庫爲小寫。 我在searchBar的textDidChange事件中編寫了如下代碼。如何在iOS中將NSMutableArray對象的NSString數據轉換爲小寫字母?
NSInteger counter = 0;
for(NSString *nameMe in myArray)
{
NSRange r = [[nameMe lowercaseString] rangeOfString:[searchText lowercaseString]];
if(r.location != NSNotFound)
{
if(r.location== 0)
{
[tableData addObject:nameMe];
}
}
counter++;
}
但是,在lowercaseString中發生錯誤。
此錯誤是
2012-03-31 16:28:18.217 SqliteTest[1812:f803] -[MyInfoClass lowercaseString]: unrecognized selector sent to instance 0x6da9210
2012-03-31 16:28:18.276 SqliteTest[1812:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MyInfoClass lowercaseString]: unrecognized selector sent to instance 0x6da9210'
我覺得編譯器不知道如何對象數據轉換爲小寫。 我該如何解決這個問題? 我可以將對象(NSString)數據轉換爲小寫。 如果可以,請讓我知道如何做到這一點。 感謝您的幫助。
你肯定myArray的包含NSString對象?你是如何初始化myArray的?請添加它的定義,並明確地顯示在哪裏行1812 – giorashc 2012-03-31 10:28:44
我相信myArray包含NSString對象。我在viewDidLoad中初始化事件類似的「self.myArray = [MyInfo的getInitialData];」 – 2012-03-31 10:33:37
,我和搜索欄的搜索文本。它只與casesenstative匹配。如果我的數據庫中的數據是「蘋果」,我無法用蘋果搜索這些數據。所以我用大寫字母輸入了所有的字符。那是我的問題。請幫忙。 – 2012-03-31 10:35:48