如何在objective-c中编写一个函数,我可以使用我的iPhone应用程序中的任何对象?

Tha*_*nks 7 iphone function objective-c

我想创建一个传递对象的函数.然后,此功能应该为我打印一些信息.

喜欢:

analyzeThis(anyObject);
Run Code Online (Sandbox Code Playgroud)

我知道方法,但不了解如何制作功能.据我所知,一个函数在所有方法和类中都是全局的,对吗?

Jas*_*oco 14

您将以与在C中编写的任何其他函数相同的方式执行此操作.因此,如果您在命名的源文件中定义了函数myLibraryFunctions.m,则任何想要使用该函数的人都将包含您定义它的头文件(可能myLibraryFunctions.h,然后只是确保它们与目标文件链接(如果你只是创建一个文件来存放你的"全局"函数并在你的任何源文件中包含它们的头文件,那么大部分将在Xcode中为你完成从中访问它.然后只需定义它:

void analyzeThis(id anyObject);

void analyzeThis(id anyObject) {
    NSLog(@"Object %p: %zu, %@", anyObject, malloc_size(anyObject), anyObject);
}
Run Code Online (Sandbox Code Playgroud)

但实际上,你会在你的功能中写下你想要的任何东西.这些函数不必是任何类定义的一部分或类似的东西.在这种情况下,它们与它们在C中完全相同.