iOS自己遇到的错误总结

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 *isExpland; // 0展开,非0收起,这个是错的,应该用strong来形容

解决方法:

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

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

错误原因:

这是在快速设置页面出现的错误
设置Model是这样的

在XCBModel.h 中

#import 

@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 

@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'

iOS自己遇到的错误总结_第1张图片
1.png

错误原因:

按钮事件没有实现

解决方法:

实现按钮事件:例如
- (void) testBug{

  // 要实现的功能;
}

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

iOS自己遇到的错误总结_第2张图片
1.jpg

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


你可能感兴趣的:(iOS自己遇到的错误总结)