我是iphone开发的新手。我在这里有一些问题。
我知道IB是UI设计的便利工具,您也可以通过编程方式完成大部分工作。我只是想知道,我什么时候应该创建一个没有IB的接口控件,为什么会这样。我想为此养成一个好习惯。非常感谢你。一位朋友告诉我,当应用程序考虑效率时,我应该以编程方式创建接口控制器,还是其他任何情况?
我正在学习Mac上的Learn Objective c。它表示" Apple建议您避免在自己的代码上使用自动释放"。那么,这是否意味着我不能使用" autorelease"或者我应该避免使用它。例如,我可以在自己的代码中使用以下代码进行iphone开发吗?
@Interface Test {
A* a;
}
@Implementation {
a = [[[A alloc]init]autorelease];
}
感谢您抽出时间阅读本文。我期待着答案:D。
答案 0 :(得分:0)
答案 1 :(得分:0)
有时创建自定义控件需要您以编程方式构建它们。
不,这不是你不能使用自动翻译,只是使用它会增加内存管理的负担。但在某些情况下,您可能没有选项,例如当您有一个返回临时对象的方法时。使用保留/释放方法手动控制对象寿命是iPhone开发中的推荐方法。有关详细信息,请参阅Autorelease pool。
答案 2 :(得分:0)
1)如果您正在进行基本视图,接口构建已经准备好了小部件,那么使用界面构建器,它将使您的生活更轻松。此外,如果您刚刚开始,它将让您更快地获得一些示例代码。我不是界面构建者的忠实粉丝,但是如果你必须维护代码,那么你就会很好地理解它。
2)我不认为自动释放是一件坏事。如果您正在编写单线程代码,则不必担心。然而,可以回过头来咬你的是你实际上并不知道什么时候会被释放。因此,如果编程效果不佳,并尝试引用稍后在代码中自动释放的对象,则可能会出现不一致的行为。我自动发布,但我也非常擅长保留/释放我传递这些对象的代码的其他部分。