からアイテムを削除できませんNSMutableArray
。私はObjective-Cに非常に慣れていないので、ご容赦ください。
これまでのところ、私は次のことをしています: 特定のテキストが内部にある場合、配列から行を削除しようとしています。高速列挙中にこれを行うことはできないため、列挙が終了した後に削除するために、インデックスを保存しようとしています。ただし、これはキャストなしで整数からポインターを作成すると言われています。混乱している!
//First remove any previous Offending entry.
//Read hostfile into array.
NSString *hostFileOriginalString = [[NSString alloc] initWithContentsOfFile:@"/etc/hosts"];
NSMutableArray *hostFileOriginalArray = [[hostFileOriginalString componentsSeparatedByString:@"\n"] mutableCopy];
NSInteger hostFileOffendingLocation;
//Use a for each loop to iterate through the array.
for (NSString *lineOfHosts in hostFileOriginalArray) {
if ([lineOfHosts rangeOfString:@"Offending"].location != NSNotFound) {
//Offending entry found, so remove it.
//[hostFileOriginalArray removeObject:lineOfHosts];
hostFileOffendingLocation = [hostFileOriginalArray indexOfObject:lineOfHosts];
//NSLog(@"%@", hostFileOffendingLocation);
}
}
//Release the Array.
[hostFileOriginalArray release];
//Remove offending entry from Array.
[hostFileOriginalArray removeObject:hostFileOffendingLocation];