2010-05-25 49 views

回答

2

makeObjectsPerformSelector遍历数组。如果你想使用它而不是更快的迭代方法,请这样做:

@interface NSString (MyCategory) 
-(void) localizeToArray:(NSMutableArray *)ioArray; 
@end 

@implementation NSString (MyCategory) 
-(void) localizeToArray:(NSMutableArray *)ioArray { 
    [ioArray addObject:[[NSBundle mainBundle] localizedStringForKey:self value:self table:nil]]; 
} 
@end 

@interface NSArray (MyCategory) 
-(NSArray *) arrayWithLocalizedStrings; 
@end 

@implementation NSArray (MyCategory) 
-(NSArray *) arrayWithLocalizedStrings { 
    NSMutableArray *result = [NSMutableArray arrayWithCapacity:[self count]]; 
    [self makeObjectsPerformSelector:@selector(localizeToArray:) withObject:result]; 
    return result; 
} 
@end 
+0

谢谢。正如你指出的那样,迭代看起来更有吸引力。 – RunLoop 2010-05-25 06:01:30

相关问题