ios - 创建功能

时间:2012-10-05 04:53:01

标签: iphone objective-c ios function

我知道函数是什么,但我想在我的项目中写一些。我刚从Lynda.com观看了一个关于Objective-C的视频系列,我从中得到了这个想法。

在视频中解释说我可以编写这样的函数:

void declareWebView ()

但是,如果我将其写入我的代码中,则会出现错误,并说我的_webView和self(作为self.view)不可用。

如果我这样写:

-(void) declareWebView

然后我没有问题。

关于如何让第一个正确的任何想法? 据我所知,我不能用第二种写作方式设置任何参数。

2 个答案:

答案 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函数中调用它们。