我想根據它們的長度過濾出一個字符串數組。一般來說,我完全不熟悉Objective C和OOP。NSMutableArray removeObjectAtIndex用法
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]);
}
NSLog在else語句中只輸出6個字母的單詞,但第二個NSLog輸出整個數組。我在這裏錯過了什麼?還有任何通用的指針來清理/改進代碼,我們感激不盡。
好吧,這是有道理的。我嘗試在if長度!= 6語句中添加一個x--,這也適用。既然我在學習,我會用你的方法,但出於好奇,x有什麼問題嗎? – user1418214 2012-07-14 19:35:33
@ user1418214添加'x - '沒有什麼問題,但更典型的解決方案是使用'while'代替for',並將'x ++'增量放入'else'分支。 – dasblinkenlight 2012-07-14 19:40:29
使用謂詞方法,'NSDictionary * binding'部分如何影響程序? – user1418214 2012-07-14 19:46:05