- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
什么是 NSComparisonResult
和 NSComparator
?
我见过其中一种类型定义,类似这样:
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
类型的对象 obj1
和 obj2
,并返回一个 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/
我有一个排序比较器,我需要在几个不同的 ViewControllers 中使用它,所以我试图将它保存在一个单独的文件中。我读过我应该能够将排序 block 放在一个单独的文件中,但是无论我尝试哪种方法
我看过一些问题,例如Sort NSDates inside NSDictionary inside NSArray?,它们解释了如何对字典数组进行排序。但是我还没有找到关于NSComparator块实
我正在使用 NSFetchRequest 从 Core Data 存储中获取数据,并将该数据存储在 array 中 - 一切正常。下一步,我想使用 NSSortDescriptors 对 array
我想知道下面的问题是否可以使用 NSComparator 实现? 我有两个数组;两者都持有数据模型。我在数据模型中有一个名为 rank 的属性。现在我想比较两个数组并想知道其中一个是否拥有排名更高的数
好吧,我一直在尝试一些东西,但还无法让它发挥作用。基本上我有一个使用 Parse 作为后端的简单应用程序。我用一些图像和名称填充表格 View ,然后该表格 View 会将您带到包含更多图像和一些文本
什么是 NSComparisonResult 和 NSComparator? 我见过其中一种类型定义,类似这样: typedef NSComparisonResult (^NSComparator)(
我一直在使用基于 block 的方法对 NSArray 进行排序...但是,我注意到了一个与排序相关的错误,因此开始调查。 背景:我正在处理 EKReminder 对象的 NSArray,它有一个 c
我正在使用 NSComparator 对 NSArray 中的对象进行排序。当代码未启用 ARC 时,比较器会给出与代码启用 ARC 时不同的结果。 以下是我的代码片段: - (NSArray *)s
执行此 NSComparator: NSComparator comparatore = ^NSComparisonResult(NSMutableDictionary *aDictionary, N
从 xcode 5.0 移动到 5.1 时,GPUImage 库出现以下错误。在谷歌上搜索后,我发现我需要像这样发送 int [NSNumber numberWithInt:number] 但问题是我
我是一名优秀的程序员,十分优秀!