一个非常奇怪的问题。我必须在 - (void)viewDidLoad
中初始化一个数组。
数组 prjMemberArray
被声明为属性:
@property(nonatomic, retain) NSMutableArray* prjMemberArray;
如果我用这个
prjMemberArray = [[NSMutableArray alloc] initWithObjects:@"someone",@"someone",@"someone" ,nil];
在 viewDidUnload
中调用 release
,
然后当 View 加载时,它会立即崩溃但是当我使用这个时:
prjMemberArray = [[NSMutableArray alloc] initWithCapacity:0];
[prjMemberArray addObject:@"someone"];
效果很好。谁能解释一下吗?我使用 Storyboard来呈现当前 View Controller ,如下所示:
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 : causes crash, 但 initWithCapacity: 后跟 addObject: 不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483833/