1
1
这是一个错误的初始化机制,如果代码段是完整的,那么问题就在于annsarray对象是空的。 您也不需要初始化asortednsarray。 所以应该是:
arrayWithObject:(autoreleated)或initWithObject:(manual)只是分配nsarray对象的另一种方法。正常情况下不会造成撞车。因为您关心的是SortedArray不保留描述符数组对象。 |
2
3
发布的代码不会崩溃。虽然有一些泄漏的物体,但它不会在模拟器上或设备上崩溃。 我想,你的问题在别处。尝试使用新项目缩小范围,只复制可疑代码。 |
3
2
尼古莱 当我的应用程序很简单很小时,它没有崩溃。这可能与本帖所述的自动释放有关: http://kosmaczewski.net/2009/01/28/10-iphone-memory-management-tips/ 作者指出了另一个类似的问题: “我确信您在使用nsdictionary的dictionary withobjects:forkeys:然后发现用initWithobjects:forkeys:替换initWithobjects:forkeys:使您的应用程序运行正常时,遇到了应用程序崩溃的情况。” 使用[nsarray arraywithobject:adescriptor]创建nsarray时使用了autorelease;相反,使用[nsarray alloc]initwitobjects:countdescrp,nil]需要在释放nsarray时特别指定。 代码的简单更改使我的应用程序在iPhone上不会100%崩溃,而旧代码使应用程序100%崩溃。 |
4
0
尼古莱 你可能是对的。大多数编码人员很难排除使用目标C进行错误内存管理的可能性。如果我像您所猜测的那样发现了另一个真正的潜在错误,我将在这里更新。在指定的时间内,我会提醒编码人员注意arrayWithObjects和initWithObjectJCT之间的区别;明智地使用它们。感谢您的回复。 韦恩 |
Bharath · iOS 11.2.2模拟器未在XCode组件中列出 7 年前 |
trubi · 解毒功能不会在Circle CI上启动iOS模拟器 7 年前 |
Ortwin Gentz · iOS模拟器的“显示P3”屏幕截图 7 年前 |
pnizzle · iOS模拟器:双击home按钮有时不起作用 7 年前 |