【问题标题】:Incompatible pointer types sending 'NSSortDescriptor *__strong' to parameter of type 'NSArray *不兼容的指针类型将“NSSortDescriptor *__strong”发送到“NSArray *”类型的参数
【发布时间】:2013-06-21 06:22:44
【问题描述】:

我正在使用:

对我的NSSet 进行排序:
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[[testSet.questions allObjects] sortedArrayUsingDescriptors:descriptor]; // warning

但它会引起警告:

Incompatible pointer types sending 'NSSortDescriptor *__strong' to parameter of type 'NSArray *

【问题讨论】:

  • 阅读文档,NSSortDescriptors 数组是预期的!
  • @BaZinga 你用我的回答摆脱了警告吗?
  • -1 过于本地化。快速浏览一下文档就能解释一切。

标签: iphone ios objective-c core-data nssortdescriptor


【解决方案1】:

您正在传递一个需要数组的描述符,试试这个:

[testSet.questions allObjects] sortedArrayUsingDescriptors:@[descriptor]];

【讨论】:

    【解决方案2】:

    你应该看到这个方法。它要求您将 Array 对象传递给它,而不是 NSSortDescriptor 对象。

      [sortDescriptions sortedArrayUsingDescriptors:<#(NSArray *)#>]
    

    所以你必须创建一个数组并将你的 NSSortDescriptor 对象放入其中。试试这个

      NSArray *_sortArray = [[NSArray alloc] initWithObjects:descriptor, nil];
      [testSet.questions allObjects] sortedArrayUsingDescriptors:_sortArray];
    
      or
    
      [testSet.questions allObjects] sortedArrayUsingDescriptors:@[descriptor]];
    

    看看有没有帮助:)

    【讨论】:

      【解决方案3】:

      NSSortDescriptor 应该在一个数组中传递。所以你必须创建一个数组,然后在数组中添加描述符。现在你应该传递数组而不是 NSSortDescriptor

      NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
      NSArray *descriptorArray = [NSArray arrayWithObject:descriptor]
      [[testSet.questions allObjects] sortedArrayUsingDescriptors:descriptorArray];
      

      【讨论】:

        【解决方案4】:

        试试这个:

        NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
        [[testSet.questions allObjects] sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];
        

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多