0

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

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

void declareWebView ()

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

如果我这样写:

-(void) declareWebView

那我就没有问题了。

关于如何正确处理第一个的任何想法?据我所知,我无法用第二种写法设置任何参数。

4

2 回答 2

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,而是引用类本身,而不是实例。

希望这可以帮助!

于 2012-10-05T04:58:26.007 回答
0

第一种方式是用 C 语言编写的。第二种方式是用 Objective-C 编写的。Objective-C 方法必须以第二种方式声明。您不能直接从 C 函数中访问对象的私有成员和属性,但可以在 Objective-C 对象上使用访问器方法并从 C 函数中调用它们。

于 2012-10-05T04:56:49.880 回答