Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Objective c NSComparator出错:不兼容的块指针类型正在初始化_Objective C_Sorting_Compiler Errors_Objective C Blocks_Comparator - Fatal编程技术网

Objective c NSComparator出错:不兼容的块指针类型正在初始化

Objective c NSComparator出错:不兼容的块指针类型正在初始化,objective-c,sorting,compiler-errors,objective-c-blocks,comparator,Objective C,Sorting,Compiler Errors,Objective C Blocks,Comparator,执行此操作时,比较程序: NSComparator comparatore = ^NSComparisonResult(NSMutableDictionary *aDictionary, NSMutableDictionary *anotherDictionary) { return [[aDictionary objectForKey:@"Item"] localizedCaseInsensitiveCompare:[anotherDictionary objectFo

执行此操作时,比较程序:

NSComparator comparatore = ^NSComparisonResult(NSMutableDictionary *aDictionary, NSMutableDictionary *anotherDictionary) {
            return [[aDictionary objectForKey:@"Item"] localizedCaseInsensitiveCompare:[anotherDictionary objectForKey:@"Item"]];
    };
lista = [listaNonOrdinata sortedArrayUsingComparator:comparatore];
我得到这个错误: 不兼容的块指针类型初始化“int(^)(struct-NSMutableDictionary*,struct-NSMutableDictionary*)”,应为“NSComparator”

我在这个网站和官方指南上读到了这个错误,但我还没有找到解决办法

我什么都试过了,也许这里有人能帮我,或者也许有人知道如何用另一种方式做同样的事情。
谢谢

NSComparator
是一个需要两个
id
s的块。您需要将
id
作为参数类型,并在必要时在块内执行强制转换(在这种情况下,不需要):

NSComparator comparatore = ^NSComparisonResult(id aDictionary, id anotherDictionary) {
    return [[aDictionary objectForKey:@"Item"] localizedCaseInsensitiveCompare:[anotherDictionary objectForKey:@"Item"]];
};
lista = [listaNonOrdinata sortedArrayUsingComparator:comparatore];