0
我想爲NSArray的所有NSString成員運行stringByDeletingPathExtension
。我如何在Objective-C中做到這一點?對於數組「stringByDeletingPathExtension」的等效
我想爲NSArray的所有NSString成員運行stringByDeletingPathExtension
。我如何在Objective-C中做到這一點?對於數組「stringByDeletingPathExtension」的等效
NSArray *myArray = ... ;
[myArray makeObjectsPerformSelector:@selector(stringByDeletingPathExtension)];
EDIT:作爲@Wevah在評論所指出的,這個解決方案沒有解決的問題,因爲stringByDeletingPathExtension返回字符串而不是修改在其上調用的對象。
NSMutableArray *newArray = [[[NSMutableArray alloc] initWithArray:myArray] autorelease];
for(int i = 0; i < [newArray count]; i++) {
NSString* oneItem = [newArray objectAtIndex:i];
[newArray replaceObjectAtIndex:i withObject:[oneItem stringByDeletingPathExtension]];
}
然後用你的newArray ...
你是什麼意思 「equellent」 是什麼意思? – Eimantas 2011-02-16 10:09:00
你的意思是在NSArray的每個成員上執行這個方法嗎?請澄清你的問題。 – Moszi 2011-02-16 10:12:18