길이에 따라 문자열 배열을 필터링하려고합니다. 나는 Objective C와 OOP에 대해 전반적으로 완전히 새로운 것이다.NSMutableArray removeObjectAtIndex usage
wordList=[[stringFile componentsSeparatedByCharactersInSet:[NSCharacterSetnewlineCharacterSet]] mutableCopy];
for (int x=0; x<[wordList count]; x++) {
if ([[wordList objectAtIndex:x] length] != 6) {
[wordList removeObjectAtIndex:x];
}else {
NSLog([wordList objectAtIndex:x]);
}
}
for (int x=0; x<[wordList count]; x++) {
NSLog([wordList objectAtIndex:x]);
}
else 문의 NSLog는 6 자 단어 만 출력하지만 두 번째 NSLog는 전체 배열을 출력합니다. 내가 여기서 무엇을 놓치고 있니? 또한 코드를 정리/개선 할 수있는 일반적인 포인터가 좋습니다.
좋습니다. 나는 x--를 if 길이에 추가하려고 시도했다! = 6 문장. 내가 배우는 동안 너의 방법을 사용 하겠지만, 호기심에서, x에 문제가 있는게 있니? – user1418214
@ user1418214'x -'를 추가해도 아무런 문제가 없겠지만 좀 더 일반적인 해결책은'for' 대신'while' 루프를 사용하고'else' 브랜치에'x ++'증가분을 넣는 것입니다 . – dasblinkenlight
술어 메소드를 사용하면 'NSDictionary * binding'부분이 프로그램에 어떤 영향을 줍니까? – user1418214