当前位置:编程学习 > wap >>

论NSArray NSMutableArray Count的漂移性

    今天碰到个奇怪的Bug,且看下面代码: 
    //选项数组赋值
 
    NSMutableArray *tmpAr = [[NSMutableArray alloc]init];
 
    NSLog(@"%d+++,0 < (tmpAr.count - 100));
 
 
 
 
    问判断式是真是假?
 
 
 
 
    按照常理判断,tmpAr.count == 0, 0 - 100 当然小于0,也就说判断式为假,输出结果为“0”。
 
    但是输出结果却为“1”
 
 
 
 
    将代码修改为:
 
 
    //选项数组赋值
 
    NSMutableArray *tmpAr = [[NSMutableArray alloc]init];
 
    int s = tmpAr.count - 1;
 
    NSLog(@"%d+++,%d,%d",0 < s);
 
 
 
 
    判断式结果输出为“0”。
 
 
 
 
    原因不明,但是得出的结论是NSArray/NSMutableArray的Count存在漂移的可能,所以取其Count的时候因该尽量先用int保存一道。
 
补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,