gpt4 book ai didi

iphone - NSComparisonResult 和 NSComparator - 它们是什么?

转载 作者:可可西里 更新时间:2023-11-01 03:23:27 25 4
gpt4 key购买 nike

什么是 NSComparisonResultNSComparator

我见过其中一种类型定义,类似这样:

typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);

它与函数指针有什么不同吗?

此外,我什至猜不到 ^ 符号的含义。

最佳答案

^ 表示 block 类型,在概念上类似于函数指针。

typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
// ^ ^ ^
// return type of block type name arguments

这意味着 NSComparator 类型是一个 block ,它接受两个 id 类型的对象 obj1obj2,并返回一个 NSComparisonResult

特别是 NSComparator 定义在 Foundation Data Types reference 中.

要了解有关 C block 的更多信息,请查看这篇 ADC 文章 Blocks Programming Topics .

例子:

NSComparator compareStuff = ^(id obj1, id obj2) {
return NSOrderedSame;
};

NSComparisonResult compResult = compareStuff(someObject, someOtherObject);

关于iphone - NSComparisonResult 和 NSComparator - 它们是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4118285/

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