• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在 NSArray 中排序对象?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:07:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个对象,如下

#import <Foundation/Foundation.h>

@interface CountriesDAO : NSObject

@property (nonatomic, retain) NSString * countryname;

@end



#import "CountriesDAO.h"

@implementation CountriesDAO
@synthesize countryname;

@end

我已将它保存在 appDelegate 内的数组中。

@property (nonatomic, retain) NSArray *countriesArray;

@synthesize countriesArray;

在另一个 Controller 中,我像获取它一样

  NSArray *countriesArray = appDelegate.countriesArray; It works fine and I get array.

当我尝试以这种方式对其进行排序时。

 NSArray *countriesArray1 = appDelegate.countriesArray;
    NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey"countryname" ascending:YES];
    NSArray * descriptors = [NSArray arrayWithObject:valueDescriptor];

    countriesArray = [countriesArray1 sortedArrayUsingDescriptors:descriptors];

我得到错误

[__NSCFType count]: unrecognized selector sent to instance 0xa83b4d0
2013-11-01 13:21:08.882 ECP[13597:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType count]: unrecognized selector sent to instance 0xa83b4d0'

这里国家数组定义为

 @property (nonatomic, retain) NSArray *countriesArray;



Best Answer-推荐答案


我是这样做的,它对我有用。

countriesArray = [[NSMutableArray alloc] init];


for (CountriesDAO *info in appDelegate.countriesArray) {
    [countriesArray addObject:info.countryname];
}    

[countriesArray sortUsingSelectorselector(localizedCaseInsensitiveCompare];

关于ios - 在 NSArray 中排序对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19723218/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap