zoukankan      html  css  js  c++  java
  • 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 allocinitWithArray:dictSorted];

  • 相关阅读:
    BSGS
    聪聪可可(未完成)
    强连通分量,缩点
    bozj 1823(未完成)
    网络流
    bzoj1026
    点分治 poj1741
    bzoj 3270 博物馆
    高斯消元 模板
    bzoj 3143 [Hnoi2013]游走
  • 原文地址:https://www.cnblogs.com/Songxin/p/3772584.html
Copyright © 2011-2022 走看看