我有一个MyObject。当我的程序运行时,我创建一个新的MyObject初始化方法
self.myObject = [[MyObject alloc] initWithStuff:stuff];
以后在我的代码中,我需要创建一个新的MyObject。
我的问题是,我需要用“init”方法创建一个新的MyObject吗?
.h
#import <UIKit/UIKit.h>
@interface MyObject : NSObject
{}
-(id)initWithStuff:(NSString *)stuff;
-(id)initWithNewStuff:(NSString *)newStuff;
-(id)newObjectWithStuff:(NSString *)newStuff;
@end
.m
-(id)initWithStuff:(NSString *)stuff;
{
if (self = [super init])
{
self.myStuff = stuff;
}
return self;
}
-(id)initWithNewStuff:(NSString *)newStuff;{
if (self = [super init])
{
self.myStuff = newStuff;
}
return self;
}
-(id)newObjectWithStuff:(NSString *)newStuff;
{
self.myStuff = newStuff;
return self;
}
或者我可以使用非初始化方法来创建它吗?
在我的代码:
self.myObject = [[MyObject alloc] initWithNewStuff:newStuff];
或
self.myObject = [self.myObject newObjectWithStuff:newStuff];
我想我的问题归结为:这是什么
if (self = [super init])
吗?
使用其他对象如字典,我知道“NSDictionary * myDict = myOtherDict”是完全有效的。