无法添加到NSMutableArray

时间:2011-03-21 07:09:52

标签: objective-c nsmutablearray segmentation-fault

我似乎无法向NSMutableArray添加对象。我创建了一个可变数组,向它添加一个对象,然后尝试迭代它,或者计算它但我的程序会出错。

@interface myclass : NSObject
{
    NSString* aname;
}
@property (retain) NSString* aname;
@end

@implementation myclass
@synthesize aname;
@end

int main(int argc, char*argv[])
{
    myclass* cls = [[myclass alloc] init];
    [cls setAname:@"myname"];
    NSMutableArray* arr = [[NSMutableArray alloc] init];
    NSLog(@"allocated array %@", [arr count]);
    [arr addObject:cls];
    NSLog(@"count %d", [arr count]);
}

程序在第二个NSLog崩溃。怎么了?

1 个答案:

答案 0 :(得分:1)

您正在将从[arr count]返回的整数传递给日志格式化程序,但是告诉NSLog将其视为NSObject(使用“%@”)。请尝试改为使用“%d”。