【发布时间】:2017-05-12 10:52:53
【问题描述】:
我必须将响应 JSON 的国家、州和城市分配到 NSMutableArray 中,该数组在 Modal Class 中初始化。
我必须删除所有对象才能设置新的州和城市,这样做会因错误而崩溃
已释放对象的校验和不正确 - 对象可能已被修改 被释放后。 *** 在 malloc_error_break 中设置断点进行调试
然后在回答 https://stackoverflow.com/a/12050676/5568169 时知道将 nil 分配给 mutableArray 将起作用,并且它起作用了,但是现在用户可以再次选择另一个国家,所以现在分配内存 [myMutableArray alloc] init]],给了我同样的错误开始。
-(void)fetchStates:(NSString*)idString {
[registrationModalContactVC.allStateArray removeAllObjects];
registrationModalContactVC.allStateArray = nil;
[registrationModalContactVC.allStateDict removeAllObjects];
registrationModalContactVC.allStateDict = nil;
registrationModalContactVC.allStateArray = [NSMutableArray new];
registrationModalContactVC.allStateDict = [NSMutableDictionary new];
}
请帮忙
【问题讨论】:
-
单独使用
removeAll或array = [[NSMutableArray alloc] init]也会导致崩溃吗? -
你在哪里使用这个数组
-
先生,我在选择器视图中使用这个数组,实际上有三个选择器视图,一个用于国家,然后用于州,然后用于城市。
-
将崩溃的部分代码添加到问题中。
-
我能理解你的问题如果数组已经包含,你想在传递你想要清除对象的数据之前将数组数据从你的帮助类发送到视图控制器。现在在我的回答中,我将数据从服务助手类存储到一个数组(newArray)中,该数组之前分配在 init 方法或 viewdidload 方法上。
标签: ios objective-c nsmutablearray removeall