一个非常奇怪的问题。我必须在- (void)viewDidLoad
中初始化一个数组。
数组prjMemberArray
被声明为属性:
@property(nonatomic, retain) NSMutableArray* prjMemberArray;
如果我用这个
prjMemberArray = [[NSMutableArray alloc] initWithObjects:@"someone",@"someone",@"someone" ,nil];
在
release
中调用viewDidUnload
然后在加载视图时,它将立即崩溃,但是当我使用此命令时:
prjMemberArray = [[NSMutableArray alloc] initWithCapacity:0];
[prjMemberArray addObject:@"someone"];
它运作良好。谁能解释一下?我使用情节提要来演示当前的视图控制器,如下所示:
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
prj_Detail = [sb instantiateViewControllerWithIdentifier:@"ProjectDetailVC"];
[self presentModalViewController:prj_Detail animated:YES];
其中
prjMemberArray
是prj_Detail
的属性。 最佳答案
您确定没有拼写错误的项目吗?例如在崩溃的情况下是"someone"
而不是@"someone"
?
关于objective-c - 使用initWithObjects:会导致崩溃,但initWithCapacity:后跟addObject:不会导致崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8483833/