我知道函数是什么,但我想在我的项目中写一些。我刚从Lynda.com观看了一个关于Objective-C的视频系列,我从中得到了这个想法。
在视频中解释说我可以编写这样的函数:
void declareWebView ()
但是,如果我将其写入我的代码中,则会出现错误,并说我的_webView和self(作为self.view)不可用。
如果我这样写:
-(void) declareWebView
然后我没有问题。
关于如何让第一个正确的任何想法? 据我所知,我不能用第二种写作方式设置任何参数。
答案 0 :(得分:2)
第一个是你所说的一个函数。它是Objective-C的C部分的一部分,并且没有连接到对象或类,因此变量self
或对象的任何实例变量都没有任何意义。你可以传递它是对象的变量,如下所示:
void my_func(NSString *string, id someObject, int someInt);
void my_func(NSString *string, id someObject, int someInt)
{
NSLog(@"string = %@, someObject = %@, someInt = %d",string,someObject,someInt);
}
第二个是方法,在方法中,您可以访问self,并在实例方法中访问实例变量。用“+”替换方法前面的“ - ”使它成为一个类方法。在类方法中,您无法访问实例变量,self
指的是类本身,而不是实例。
希望这有帮助!
答案 1 :(得分:0)
第一种方式是用C语言编写的。第二种方式是用Objective-C编写的。必须以第二种方式声明Objective-C方法。您无法直接在C函数中访问对象的私有成员和属性,但您可以在Objective-C对象上使用访问器方法并从C函数中调用它们。