Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone ios-创建函数_Iphone_Objective C_Ios_Function - Fatal编程技术网

Iphone ios-创建函数

Iphone ios-创建函数,iphone,objective-c,ios,function,Iphone,Objective C,Ios,Function,我知道函数是什么,但我正在尝试在我的项目中编写一些函数。我刚刚在Lynda.com上看了一系列关于Objective-C的视频,从中我得到了这个想法 视频中说明我可以编写如下函数: void declareWebView () -(void) declareWebView 但是,如果我将其这样写入代码,就会出现错误,并指出my_webView和self(作为self.view)不可用 如果我这样写: void declareWebView () -(void) declareWebView

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

视频中说明我可以编写如下函数:

void declareWebView ()
-(void) declareWebView
但是,如果我将其这样写入代码,就会出现错误,并指出my_webView和self(作为self.view)不可用

如果我这样写:

void declareWebView ()
-(void) declareWebView
那我就没有问题了

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

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

第一个是您所说的调用函数。它是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
引用类本身,而不是实例


希望这有帮助

好吧,那我就用第二个:-)