我可以像处理方法中的任何其他变量那样处理局部参数变量吗?

时间:2015-08-25 18:06:41

标签: objective-c

只是想确保我做对了。假设我声明了我自己的自定义指定初始化程序,例如

-(id)initWithData:(NSDictionary *)data andImage:(UIImage *)image;

那么就可以在内部执行以下操作吗? :

self = [super init]; 
self.name = data[PLANET_NAME];
self.spaceImage = image;
return self;

并实际索引到名为' data'的参数变量如果是这样,为什么可能呢?变量被声明为可索引的参数,就像显式和单独声明的字典变量一样吗?另外,作为一个侧面问题,描述一个'参数变量的最佳方法是什么? - 听起来不完全正确。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

调用方法时,传递给方法的每个参数都会变为局部变量。如果你不能使用它,你会对参数做什么?此外,您可以分配参数,因为它不是const变量。

请注意,您应始终检查[super init]是否未返回nil。