Phi*_*ord 6 iterator objective-c nsnumber nsarray ios
我有一个NSArray与NSNumber对象具有int值:
arrayOfValues = [[[NSArray alloc] initWithObjects: [NSNumber numberWithInt:1], [NSNumber numberWithInt:3], [NSNumber numberWithInt:5], [NSNumber numberWithInt:6], [NSNumber numberWithInt:7], nil] autorelease];
[arrayOfValues retain];
Run Code Online (Sandbox Code Playgroud)
我试图像这样迭代数组:
int currentValue;
for (int i = 0; i < [arrayOfValues count]; i++)
{
currentValue = [(NSNumber *)[arrayOfValues objectAtIndex:i] intValue];
NSLog(@"currentValue: %@", currentValue); // EXE_BAD_ACCESS
}
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
sos*_*orn 18
您使用了错误的格式说明符.%@用于对象,但int不是对象.所以,你应该这样做:
int currentValue;
for (int i = 0; i < [arrayOfValues count]; i++)
{
currentValue = [(NSNumber *)[arrayOfValues objectAtIndex:i] intValue];
NSLog(@"currentValue: %d", currentValue); // EXE_BAD_ACCESS
}
Run Code Online (Sandbox Code Playgroud)
更多信息在文档中.
| 归档时间: |
|
| 查看次数: |
14935 次 |
| 最近记录: |