小编gre*_*bzh的帖子

为什么在指定NSStrings时快速枚举不会跳过NSNumbers?

我以为我知道如何使用快速枚举,但有一些我不明白的事情.如果我创建三个NSString对象和三个NSNumber对象并将它们放在NSMutableArray:

NSString *str1 = @"str1";
NSString *str2 = @"str2";
NSString *str3 = @"str3";

NSNumber *nb1 = [NSNumber numberWithInt:1];
NSNumber *nb2 = [NSNumber numberWithInt:2];
NSNumber *nb3 = [NSNumber numberWithInt:3];

NSArray *array = [[NSArray alloc] initWithObjects:str1, str2, str3, nb1, nb2, nb3, nil];
Run Code Online (Sandbox Code Playgroud)

然后我对所有NSString对象进行快速枚举,如下所示:

for (NSString *str in array) {
    NSLog(@"str : %@", str);
}
Run Code Online (Sandbox Code Playgroud)

在控制台中,我得到了这个结果:

2011-08-02 13:53:12.873 FastEnumeration[14172:b603] str : str1
2011-08-02 13:53:12.874 FastEnumeration[14172:b603] str : str2
2011-08-02 13:53:12.875 FastEnumeration[14172:b603] str : str3
2011-08-02 …
Run Code Online (Sandbox Code Playgroud)

objective-c nsarray fast-enumeration

4
推荐指数
3
解决办法
2372
查看次数

标签 统计

fast-enumeration ×1

nsarray ×1

objective-c ×1