2010-01-15 99 views
0

嘗試將用戶在文本字段中寫入的內容分割爲一個包含所鍵入內容中的字符的數組。使用字符串方法將單詞分隔爲字符

這裏是我迄今爲止

-(IBAction) generateFlashNow:(id)sender{ 

[textField resignFirstResponder]; 
NSString *string1 = textField.text; 
NSString *string2 = [string1 stringByReplacingOccurrencesOfString:@"" withString:@","]; 
NSArray *arrayOfLetters = [string2 componentsSeparatedByString:@","]; 

NSLog(@"Log Array :%@", arrayOfLetters); 

//NSArray *imageArray = [[NSArray alloc] init]; 

NSLog(@"Log First Letter of array: %@",[arrayOfLetters objectAtIndex:0]); 

} 

我在做什麼錯?

回答

0

stringByReplacingOccurrencesOfString當你傳遞一個空字符串「」時沒有做任何事情,所以string2string1的完全相同副本,因此沒有逗號和分割操作失敗。

有很多方法可以做到這一點。我能想到兩個:

轉換爲字符數組:

NSString *string = @"Hello"; 
const char *characters = [string UTF8String]; 
for(int i=0; i<sizeof(characters); i++) { 
    NSLog(@"%c", characters[i]); 
} 

或者,如果你只是想處理的對象,遍歷每個方法和手工創建數組:

NSString *string = @"Hello"; 
NSMutableArray *array = [[NSMutableArray alloc] init]; 
for(int i = 0; i < [string length]; i++) { 
    NSString *myChar = [NSString stringWithFormat:@"%c", [string characterAtIndex:i]]; 
    [array addObject:myChar]; 
} 

您可以將上述邏輯添加到方法中,如toArray作爲NSString本身的類別,因此如果這是您的應用程序的常見情況,則所有字符串都會獲得此功能。有關類別的更多信息,請查看此article。您只需撥打[someString toArray]即可獲得數組表示。

相關問題