xcode中遇到for循环字典的问题

iOS 码拜 8年前 (2016-09-14) 1276次浏览
不知道大家有没有遇到过这样的问题,代码是这样:

- (NSArray*) getDetailValues : (NSArray*) detailsArr{
    NSLog(@"arrs = %@", detailsArr);
    NSMutableArray *muteArr = @[].mutableCopy;
    for(NSDictionary *item in detailsArr){
        NSLog(@"item = %@", item);
        [muteArr addObject:[ExamDetailValue buildDetailValue : item]];
    }
    return muteArr;
}

传参是一个NSArray,单步调试运行到第7行for循环之前detailsArr还正常,进入for循环之后detailsArr中的全部值都变为
空了。实在不理解为什么会这样,大家遇到过吗?
运行到第七行时,detailsArr的值
xcode中遇到for循环字典的问题
运行到第八行时,detailsArr的值
xcode中遇到for循环字典的问题

解决方案

8

会不会是原因是@[]这个语法糖创建的是NSArray,并不是NSMutableArray
你就老实点,用
NSMutableArray *muteArr = [[NSMutableArray alloc] init];
试试

8

NSMutableArray *muteArr = @[].mutableCopy; 这本人作啊。

2

NSDictionary *item指向ExamDetailValue类型,能否这个原因导致,另外你打印下吧,不要看xcode的显示信息,有时候xcode会欺骗我们的

2

Xcode问题吧,试了几次都没有你的问题

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明xcode中遇到for循环字典的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)