1
5
在目标C和正常C中,静态是完全相同的。
这取决于上下文。它停止了过度释放对象的可能性,因为随后的释放消息将被发送到nil。
不能更改nsstrings,但nsmutableStrings(子类)可以。是的,这是一个防御公约。
阅读 Cocoa Memory Management Rules . 您是通过alloc、copy还是new获得常量字符串的?不,你没有。因此,不要释放它,除非你先保留它。保持不变的字符串不会造成任何伤害。
同样,内存管理指南也会有所帮助。如果对象保留了IVAR(或使用alloc、copy等创建了它),则需要释放它。
通过。我不在iPhone上进行用户界面编程。
作为 Core Data Programming docs 是一个很好的开始的地方。
|
2
1
2。这个语法是什么意思?[someobj release],someobj=nil;两个陈述?为什么我要重新分配零?“释放”不够吗?我应该为我分配/拥有的所有对象都这样做吗?还是仅仅查看对象? 如果您只是释放一个对象,那么它将成为释放的对象。如果你试图对释放的对象执行任何操作,那么你的应用程序就会崩溃。为避免此类事故,最好是 “释放对象后将其指定为nil” . 因为我们都知道在nil上执行的任何操作都不会被执行:) 4.我不应该释放常量nsstring吗?比如:nsstring*cellIdentifier=@“cell”;为什么不呢?编译器是否为我分配/取消分配它? 对象所有权在这里出现了,在obj-c中我们必须学习的第一个基本步骤是对象所有权。 如果你分配,保留,复制,那么你必须释放。 nsstring*cellIdentifier=@“单元格”; 在这里,你根本没有分配它,那你为什么要释放它呢? 6。我有3个级联下拉列表。我的意思是,根据在第一个列表中选择的内容,填充第二个列表,根据在第二个列表中选择的内容,填充第三个列表。哪些UI组件可以最好地反映这一点?iPhoneUI中的下拉列表是如何显示的?带uipicker的TableView?我应该什么时候更新第二,第三个列表?或者只有三个有触摸事件的标签? 导航控制器是为满足这种要求而设计的。不是吗? 8。我怎么知道我的应用程序是否在泄漏内存?有工具吗? 泄漏 |
3
1
5。我是否也应该发布其他ivar(标签、文本字段)? 你能出示完整的申报单吗?你知道,当你声明一个属性时,你指定它应该是一个有保留还是没有保留的赋值(assign vs retain)。如果这是一个没有保留的任务,那么释放它是错误的。
如果不保留地分配,则可以在不知道的情况下释放对象。 6。3个级联下拉列表 选取器视图可以处理多级选择。结帐
告诉您需要多少组件,然后使用
根据在第一个组件中选择的内容更改第二个组件中显示的内容。 |
Martin sku · 在目标C中打印时间 2 年前 |
Vinod prajapat · 如何更新数组的最后一个元素? 2 年前 |
subin272 · 修复iOS中的多个按钮单击事件? 6 年前 |
James Chan · 如何使用锁定/解锁? 6 年前 |
Josh F. · NSBundle mainBundle返回零 6 年前 |