// self.wordTextField.text = @"32";
// self.wordTextField.text = [self.wordTextField.text lowercaseString];
// self.wordTextField.text = [self.wordTextField.text stringByReplacingOccurrencesOfString:@" " withString:@"?"];
NSString *removeString = @"`[email protected]#$%^&*()_+[]\\{}|;':\",./<>";
NSMutableSet *removeSet = [NSMutableSet set];
for (unsigned i = 0; i < removeString.length; i++) {
NSRange range; range.location = i; range.length = 1;
NSString *char_ = [removeString substringWithRange:range];
[removeSet addObject:char_];
}
for (unsigned i = 0; i < self.wordTextField.text.length; i++) {
NSRange range; range.location = i; range.length = 1;
NSString *thisLetter = [self.wordTextField.text substringWithRange:range];
if ([removeSet containsObject:thisLetter]) {
self.wordTextField.text = [self.wordTextField.text stringByReplacingOccurrencesOfString:thisLetter
withString:@""];
i--;
}
}
self.wordTextField.text가 편집이 변경 될 때 호출되는 메서드이기 때문에 내 주석 메서드로 인해 무한 루프가 발생합니다. 따라서 텍스트 속성을 설정하면 더 많은 편집이 변경됩니다 , 그 결과 루프. 내 질문은 : 루프 및 조건문 내의 .text 설정자가이 동작을 일으키는 이유는 무엇입니까? 그 부분은 (사용자) 기대대로 완벽하게 작동합니다 ...UITextField를 변경하면 한 케이스에서는 무한 루프가 발생하지만 다른 케이스에서는 무한 루프가 발생하는 이유는 무엇입니까?
'+ [NSCharacterSet characterSetWithCharactersInString :]','- [NSString rangeOfCharacterFromSet :','- [NSString stringByReplacingCharactersInRange : withString :]'이 유용 할 수 있습니다. 또는 더 나은 방법은 NSRegularExpression입니다. –