objective-c - 使用 initWithObjects : causes crash, 但 initWithCapacity: 后跟 addObject: 不会

标签 objective-c ios nsarray exc-bad-access storyboard

一个非常奇怪的问题。我必须在 - (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];

其中 prjMemberArrayprj_Detail 的属性。

最佳答案

您确定您没有拼写错误的项目并写成例如:在崩溃场景中使用 "someone" 而不是 @"someone"

关于objective-c - 使用 initWithObjects : causes crash, 但 initWithCapacity: 后跟 addObject: 不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483833/

相关文章:

objective-c - 从主机名获取服务器 IP 地址

ios - 解析查询不返回完整的对象详细信息

ios - 管理一个项目的多位信息的最佳方式?

iphone - 点击 UITextView 中的单词

iphone - 为 iphone sdk 自定义 AddThis 共享菜单?

objective-c - 如何传递 JSON 请求

objective-c - 了解 Cocoa 应用程序中的 gc-roots 信息

ios - MagicalRecord:多个数据库

objective-c - 如何限制 NSLog 中的 NSArray 输出

objective-c - 以编程方式调整 NSArray 的大小