2015-08-25 37 views
0

只是想确定我有这个权利。说我宣布自己的自定义指定初始化器如我可以像在方法中使用其他变量一样处理局部参数变量吗?

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

是否确定然后就做类似的这里面以下? :

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

并实际上索引到该参数变量称为'数据'?如果是这样,为什么可能呢?是否将一个变量声明为一个可索引的参数,就像明确声明和单独声明的字典变量一样?也只是一个侧面的问题,描述'参数变量'的最好方法是什么 - 听起来不完全正确。

感谢您的任何帮助。

+1

你问你是否可以在你的发布代码中做你正在做的事情。你试过了吗?它是否按照你的希望工作? – rmaddy

+0

是的,我试过了,是的,它工作..我来到这里进行验证,点击'我的。每个学习者都有不同的学习方法,而且我是自学成才的,而不是一个天才,即使我对此有99%的把握,我也喜欢验证一些事情。这种方式只适用于我,并最终让我到那里。谢谢。 – cheznead

+0

太好了。我并不怀疑学习的欲望和确定性。如果你说过你尝试了它,它就会改善你的问题,但它确实有问题。请享用。 – rmaddy

回答

1

传递给方法的每个参数在调用该方法时变成局部变量。如果你不能使用它,你将如何处理一个参数?另外,您可以分配给一个参数,因为它不是一个常量变量。

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

相关问题