gpt4 book ai didi

objective-c - 如何在 ObjectiveC 类中存储函数指针?

转载 作者:行者123 更新时间:2023-12-04 06:43:16 31 4
gpt4 key购买 nike

一些 Apple 的 obj-c API 仍然使用 C 函数,例如:

-(NSArray * ) sortedArrayUsingFunction: (NSInteger (*)(id, id, void *))comparator context:(void *)context



...这很棒,除了我正在努力了解如何在 ObjC 类中存储 fn 指针。

例如在程序的不同部分共享相同的“排序”功能。假设您在不同的上下文/类中有不同的数据,但您希望在两个地方都使用相同的排序(为了一致性)。

我确信这很简单,但要么我的 C 太生疏了,要么有一些问题。我尝试在头文件中粘贴一个普通变量:

NSInteger (*)(id, id, void *) myComparator;



...我得到的只是一个编译器错误:

Expected identifier or '(' before ')' token

最佳答案

而不是做:

NSInteger (*)(id, id, void *) myComparator;

改用这个:
NSInteger (* myComparator)(id, id, void *);

(这就像块语法,除了块使用 ^ 而不是 * )

关于objective-c - 如何在 ObjectiveC 类中存储函数指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994286/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com