• 欢迎访问趣尚博客、分享互联网、软件、编程、创业、英语、VPS 推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您喜欢我的博客,那么请使用Ctrl+D 收藏吧!

Thread 1: signal SIGABRT

热门动态 qushang 4年前 (2017-02-22) 772次浏览

Thread 1: signal SIGABRT

往往是,一个对象释放了多次,即多次释放。多为粗心所致。

还有一种过渡释放,很隐蔽。查了很久才知道!

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

self.arrCollectionData=[userDefault objectForKey:@”TV_Collection”];

注意:这种写法是错误的!因为,我并没有自己将内存分配给arrCollectionData,这样,编译器对该块内存有控制权,而不是我!

所以,某个时刻,我不能保证arrCollectionData有效。

我更不能在程序最后,显示的进行[_arrCollectionData release];操作!

本着,谁分配谁管理的原则!

为了保证正确性,我改写成了如下形式!

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];

NSArray *dictSorted=[userDefault objectForKey:@”TV_Collection”];

self.arrCollectionData=[[NSMutableArray alloc] initWithArray:dictSorted];


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Thread 1: signal SIGABRT
喜欢 (0)
[399397742@qq.com]
分享 (0)