Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
Ios Cocoa-定义像NSLog这样的全局函数_Ios_Cocoa_Function - Fatal编程技术网

Ios Cocoa-定义像NSLog这样的全局函数

Ios Cocoa-定义像NSLog这样的全局函数,ios,cocoa,function,Ios,Cocoa,Function,请参阅该帖子和公认的答案: 在那个例子或任何其他情况下,我如何声明一个全局函数,其中包括我可以直接调用的objective-c调用,比如NSLog,而不必像[MyClass myFunction]那样调用?只需使用标准c语法;记住,Objective-C是C的严格超集 在.h文件中,编写声明 extern return_type function_name(argument_type1 argument_name1,argument_type2 argument_name 2); 并在.m文

请参阅该帖子和公认的答案:


在那个例子或任何其他情况下,我如何声明一个全局函数,其中包括我可以直接调用的objective-c调用,比如NSLog,而不必像[MyClass myFunction]那样调用?

只需使用标准c语法;记住,Objective-C是C的严格超集

.h
文件中,编写声明

extern return_type function_name(argument_type1 argument_name1,argument_type2 argument_name 2);
并在
.m
文件(或
.c
文件或任何文件)中编写实现

return_type function_name(argument_type1 argument_name1,argument_type2 argument_name 2){
      ....
}

如果它位于
.m
文件中,则应将其置于
@实现之外@结束
块。(好吧,你可以把你的函数放在里面,但我觉得很困惑。)就是这样

我在编译时可能重复此错误:架构i386的未定义符号:“\u MyNSLog”,引用自MyClass中的:-[MyClass doJob:]。o ld:symbol未找到架构i386 collect2:ld返回1退出状态您忘记在目标或函数实现中包含
.m
文件(在
.m
文件中)有一个与
.h
文件中声明不同的名称。谢谢你。我一直在努力获得这样的正确实现。现在一切都开始了。