2010-01-15 3 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]으로 전화하면됩니다.

관련 문제