signal SIGABRT

往往是,一个对象释放了多次,即多次释放。多为粗心所致。还有一种过渡释放,很隐蔽。查了很久才知道!NSUserDefaults*userDefault=[NSUserDefaultsstandardUserDefaults];self.arrCollectionData=[userDefaultobjectForKey:@”TV_Collection”];…

大家好,又见面了,我是你们的朋友全栈君。

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

 

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

 

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];

转载于:https://www.cnblogs.com/Songxin/p/3772584.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126150.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月7日 上午9:40
下一篇 2022年4月7日 上午9:40


相关推荐

  • Python – __name__==’__main__’是干啥的,以及python -m与python的区别

    Python – __name__==’__main__’是干啥的,以及python -m与python的区别转自牛人: https://www.cnblogs.com/ddzj01/p/10919210.html1.__name__=='__main__'是干啥的先看例子,准

    2022年7月5日
    35
  • sm4算法加密解密

    sm4算法加密解密一、基本知识分组加密(英语:Blockcipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。 对称加密、加密算法主要可以分为两种,一个是非对称加密算法,另一个就是对称加密算法。对称加密简单来说就是有一个明文,通过一个密钥加密之后得到一个密文,这个密文可以通过相同的密要解密得出和原来相同的明文二、sm…

    2022年10月6日
    5
  • 三、VHDL语言基础[通俗易懂]

    三、VHDL语言基础[通俗易懂]正文:1VHDL简介VHDL的全称为VHSIC硬件描述语言(VHSICHardwareDescriptionLanguage),VHSIC:VeryHighSpeedIntegra

    2022年7月2日
    26
  • 不管这些了三国杀_三国杀身份局胜率

    不管这些了三国杀_三国杀身份局胜率一、【三国杀】是一种什么卡牌游戏?如果给三国杀下一个明确的定义的话,避不开两个词“非集换式”,“桌游”。我个人对“卡牌”有三个理解,崔斯特,集换式,非集换式。崔斯特是一个说话很有腔调的性感小胡子男人。集换式,小时候的水浒卡,三国卡,注重于收藏而非游戏性(当然后来还有了战神镖)。游戏性、竞技性比较强的,游戏王,还有如日中天的炉石(似乎也不算传统意义上的了)。非集换式的,三国杀,广泛点的

    2022年7月27日
    12
  • 启动关闭nginx的方法

    启动关闭nginx的方法关闭 nginx 服务 killcat usr local nginx logs nginx pidnginx sreload 修改配置后重新加载生效 nginx sreopen 重新打开日志文件 nginx t c path to nginx conf 测试 nginx 配置文件是否正确关闭 nginx nginx sstop 快速停止 nginxquit 完整有序的停止 nginx 其他的停止 nginx 方式 ps ef grepnginxki

    2026年3月18日
    3
  • 从0开始<十四>:模仿malloc和 free函数、strlen函数[通俗易懂]

    程序一:编写函数char*alloc(n)和voidafree(char*p)函数,这两个函数类似于malloc和free函数,其中第一个函数返回一个指向n个连续存储单元的指针,第二个函数释放已经分配单元的指针。思路:最容易实现方法是让一个大字符数组allocbuf中的空间进行分配。该数组是alloc和afree两个函数的私有数组。由于函数alloc和afree处理的对象时指针而不是

    2022年4月9日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号