我对Objective-C很新,我想解决一段时间前我提出的问题。也许这是非常基本的东西,但我想知道初始化对象的最佳方法是什么。在我编写的一些简短编码中,我没有看到使用'init'方法或直接声明类中参数值的性能的视觉差异。但是,当我有一个包含多个对象的大型代码实例化时,哪些是实例化对象的最佳方法,或者有比这两个更好的替代方法?
例如,我创建了一个接口MyTestInterface,它使用了我在项目中创建的几个类:
@interface MyTestInterface ()
@property (nonatomic, retain) MyTestClassOne
@property (nonatomic, retain) MyTestClassTwo
...
这些类中的每一个(MyTestClassOne,MyTestClassTwo,...)都有一些其他属性,以及必须初始化的接口本身。我想澄清我的问题,对于那些不太了解的人,询问是否有办法初始化接口的对象,能够减少内存消耗和编译时间,当需要实例化多个对象时,在这种情况下。提前谢谢。
答案 0 :(得分:0)
初始化课程的一般方法是
NameOfClass *myClass = [[NameOfClass alloc] init];
- (id)init
{
self = [super init];
if (self) {
// you set your default values here
myLength = 10; //ex
}
return self;
}
关于自定义指定的初始化程序。您可以使用自定义指定的初始化程序从其他对象传递自定义值
NameOfClass *myClass = [[NameOfClass alloc] initWithLength:10];
- (id)initWithLength:(int)length
{
self = [super init];
if (self) {
// you set your default values here
myLength = length; //ex
}
return self;
}
答案 1 :(得分:0)
Apple网站上的Objective-C有一些介绍性材料:
如果你刚刚开始使用Objective-C,那么从一本介绍书开始真的很有帮助,比如Big Nerd Ranch的其中一本:
Mac OS X的可可编程 http://www.amazon.com/Cocoa-Programming-Mac-4th-Edition/dp/0321774086/ref=pd_sim_b_3?ie=UTF8&refRID=02AAS1C6T2JMZKJC6DXA
或
iOS编程:Big Nerd Ranch指南 http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321821521/ref=pd_sim_b_1?ie=UTF8&refRID=1KBR85MDBKH08Z88873Y