iOS自己遇到的错误总结

作者: 5a3830ede979 | 来源:发表于2016-06-23 10:35 被阅读6849次

    2016-06-23 10:27:54.634 ScrollViewVC[2038:62661] *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITableView.m:7971

    错误原因:
    Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]
    
    解决方法:
    cell复用的问题, 在tableView创建时添上下面这句就OK
    [self.tableView registerClass:[XCBCell class] forCellReuseIdentifier:cellID];
    

    2016-06-23 10:38:04.096 调试 image找出代码错误行[2080:67919] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 2 beyond bounds [0 .. 1]'

    错误原因:
    数组下标越界
    
    解决方法:
    别让数组下表超出    最大值-1
    

    2016-06-25 11:23:55.017 tableView展开与收起[2847:110880] -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x7ff903e8b2e0

    错误原因:

    这个是在tableView展开与收起的时候出错的,刚开始照别人的代码敲,结果马虎敲错了,修饰符敲成了  assign
    @property (nonatomic, assign) NSMutableArray<NSNumber *> *isExpland; // 0展开,非0收起,这个是错的,应该用strong来形容
    

    解决方法:

    @property (nonatomic, strong)NSMutableArray<NSNumber *> *isExpland;//是否展开
    

    2016-07-01 17:38:08.479 TableView设置页面[5161:242875] -[__NSArrayI itemsArray]: unrecognized selector sent to instance 0x7fe473e9a690

    错误原因:

    这是在快速设置页面出现的错误
    设置Model是这样的
    
    在XCBModel.h 中
    
    #import <Foundation/Foundation.h>
    
    @interface XCBModel : NSObject
    
    @property (nonatomic, copy) NSString *title;
    
    @property (nonatomic, copy) NSString *iconStr;
    
    + (instancetype)itemWithIconStr:(NSString *)iconStr title:(NSString *)title;
    
    + (instancetype)settingItem;
    
    @end
    --------------------------
    在XCBGroupModel.h中
    #import <Foundation/Foundation.h>
    
    @interface XCBGroupModel : NSObject
    
    @property (nonatomic, copy) NSString *headerTitle;
    
    @property (nonatomic, copy) NSString *footerTitle;
    
    @property (nonatomic, strong) NSArray *itemsArray;
    
    
    @end
    --------------------------
    在ViewController.m中
    
    - (void)group1{
    
        //XCBGroupModel *group = [[XCBGroupModel alloc] init];
    
        XCBModel *item0 = [XCBModel itemWithIconStr:@"tab_0" title:@"双卡设置"];
        XCBModel *item1 = [XCBModel itemWithIconStr:@"tab_1" title:@"通话设置"];
        XCBModel *item2 = [XCBModel itemWithIconStr:@"tab_2" title:@"WLAN"];
        
    itemsArray = @[item0,item1,item2];
    
     [self.groupArray addObject:itemsArray];
    
       // group.itemsArray = @[item0,item1,item2];
        
       // [self.groupArray addObject:group];
        
    其中注释的是正确的,我原先的写法是错误的
    }
    

    在Xcode项目工程中出现没有发现.pch' file not found

    错误原因:

    这就是.pch文件的路径问题,需要手动修改路径; 
    相对路径和绝对路径的问题 
    

    解决方法:

    选中最上面的项目-->右边侧栏TARGETS-->找到Build Settings --> 搜索框搜prefix header-->下面找到Prefix Header-->双击
    后面的路径打开编辑 。
    在项目文件夹中找到文件夹Supporting Files-->找到public.pch直接拖进刚才的编辑框中,回车键ok
    

    利用SourceTree进行git仓库管理
    直接将项目中的多个文件拖进根目录,不需要  中间目录 (包裹在最外面那个单个目录,就是工程名,不需要工程做外层的文件夹) 
    
    XXXXXXX does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), 
    obtain an updated library from the vendor, or disable bitcode for this target.
    
    请到 Xcode 项目的 Build Settings 标签页搜索 bitcode,将 Enable Bitcode 设置为 NO 即可。
    

    2016-07-25 10:32:28.519 AFNetworking练习[2964:100109]
    Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or
    object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text
    did not start with array or object and option to allow fragments not set.}

    错误原因:

    因为AFNetworking默认解析数据是json格式
    当前接口的返回格式不是 json(不是不支持json)
    

    解决方法:

    加上这句
    mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
    

    2016-07-28 15:50:30.061 BugTest[6200:276389] -[SecondViewController testBug]: unrecognized selector sent to instance 0x7f85e9d19fe0
    2016-07-28 15:50:30.063 BugTest[6200:276389] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SecondViewController testBug]: unrecognized selector sent to instance 0x7f85e9d19fe0'

    1.png

    错误原因:

    按钮事件没有实现
    

    解决方法:

    实现按钮事件:例如
    - (void) testBug{
    
      // 要实现的功能;
    }
    

    错误:Thread 1:EXC_BAD_ACCESS(code=1,address=0x20746e756f78)

    1.jpg

    错误原因:对象被释放后,引用计数为0.会调用dealloc方法销毁对象,销毁之后对象不能被调用了。


    相关文章

      网友评论

      • 未来可期me:```
        2016-07-25 10:32:28.519 AFNetworking练习[2964:100109]
        Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or
        object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text
        did not start with array or object and option to allow fragments not set.}
        ```
        今天遇到这个问题是,我调用的接口,不是后台写的,然后一直报这个错,改接口也没告诉我,最后也不知道啥情况,要不就是掉了一个不存在的接口导致的

      本文标题:iOS自己遇到的错误总结

      本文链接:https://www.haomeiwen.com/subject/ldindttx.html