`
shappy1978
  • 浏览: 700682 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

NSSortDescriptor

 
阅读更多

NSSortDescriptor

    NSMutableArray *ma1 = [[NSMutableArray alloc] init];
    [ma1 addObject:@"2"];
    [ma1 addObject:@"1"];
    [ma1 addObject:@"3"];
    
    NSSortDescriptor *sd1 = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:NO];
    NSArray *arr1 = [ma1 sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sd1, nil]];
    
    for (NSString *str in arr1) {
        NSLog(@"%@", str);
    }
    
    NSMutableArray *ma2 = [[NSMutableArray alloc] init];
    [ma2 addObject:@"b"];
    [ma2 addObject:@"c"];
    [ma2 addObject:@"a"];    
    
    NSSortDescriptor *sd2 = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:YES];
    NSArray *arr2 = [ma2 sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sd2, nil]];
    
    for (NSString *str in arr2) {
        NSLog(@"%@", str);
    }
    
    NSMutableArray *ma3 = [[NSMutableArray alloc] init];
    
    NSMutableDictionary *md1 = [[NSMutableDictionary alloc] init];
    [md1 setObject:@"e" forKey:@"name"];
    
    NSMutableDictionary *md2 = [[NSMutableDictionary alloc] init];
    [md2 setObject:@"d" forKey:@"name"];
    
    NSMutableDictionary *md3 = [[NSMutableDictionary alloc] init];
    [md3 setObject:@"f" forKey:@"name"];
    
    [ma3 addObject:md1];
    [ma3 addObject:md2];
    [ma3 addObject:md3];
    
    [md1 release];
    [md2 release];
    [md3 release];    
    
    NSSortDescriptor *sd3 = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
    NSArray *arr3 = [ma3 sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sd3, nil]];
    
    for (NSMutableDictionary *md in arr3) {
        NSLog(@"%@", [md objectForKey:@"name"]);
    }
                            
    [ma1 release];
    [ma2 release];
    [ma3 release];

分享到:
评论

相关推荐

    NSArray排序demo

    NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"someProperty" ascending:YES]; NSArray *sortedArray = [objects sortedArrayUsingDescriptors:@[sortDescriptor]]; ``` 在...

    Object-C数组排序

    当需要根据多个属性进行排序时,可以使用`sortUsingDescriptors:`方法,它接受一个NSArray对象,其中包含NSSortDescriptor对象,每个描述符代表一种排序方式。例如: ```objc NSMutableArray *descriptors = @[ ...

    获取相册中的最后一张图片.zip

    fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; PHFetchResult*> *assets = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:...

    iOS系统相册读取

    fetchOptions.sortDescriptors = [NSSortDescriptor(key: "localizedTitle", ascending: true)] let smartAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .any, options: ...

    CoreData使用 网易新闻

    let sortDescriptor = NSSortDescriptor(key: "publishDate", ascending: false) fetchRequest.sortDescriptors = [sortDescriptor] ``` 10. **使用 NSFetchedResultsController** 对于复杂的表格视图,通常...

    图片按日期排序ios

    例如,创建一个`NSSortDescriptor`对象,其key为`creationDate`,表示图片的创建日期,选择降序排列(最新的在前)。 ```swift let sortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false) ...

    ios开发中读取本地照片和视频以及摄像头调用

    fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; PHFetchResult*> *assets = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:...

    NSHipster Obscure Topics in Cocoa & Objective C

    NSHipster还探讨了集合操作符、键值观察(KVO)、错误处理(NSError)、NSOperation以及NSSortDescriptor等高级特性。对于那些需要与文件系统交互的开发者,NSFileManager提供了一系列方法来进行文件的创建、删除、移动...

    ios开发相册选择器,获取所有相册,所有图片,所有视频资源

    fetchOptions.sortDescriptors = [NSSortDescriptor(key: "localizedTitle", ascending: true)] let smartAlbums = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumRegular, options: ...

    PhotoLibrary_iOS

    fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; PHAssetCollection *latestCollection = [PHAssetCollection fetchAssetCollectionsWithType:...

    MagicRecord-Coredata

    这样的查询语句清晰易读,减少了对NSPredicate和NSSortDescriptor等复杂类的直接操作。 在"MagicalRecord-develop"这个压缩包中,包含了MagicRecord的源码,开发者可以深入研究其内部实现,了解它是如何封装和优化...

    CoreData资料

    02-Queried Color List可能深入到CoreData的查询功能,讲解如何使用NSFetchRequest、NSSortDescriptor和NSPredicate来获取、排序和过滤数据。这在实际应用中非常关键,因为通常我们需要根据用户需求动态地从数据存储...

    oc字符串练习题

    answer: 使用NSArray类的arrayWithObjects:方法将四个数字组成数组,然后使用NSSortDescriptor类的sortDescriptorWithKey:ascending:方法将数组按照从小到大排序,最后使用NSString类的componentsJoinedByString:...

    coreData使用

    - **实例**: 创建一个 `NSFetchRequest` 对象来指定查询条件,如 `NSPredicate` 来过滤数据,`NSSortDescriptor` 来排序结果。 #### 三、实操步骤 **1. 创建 CoreData 的 Model** - 打开 Xcode,选择 File > New ...

    swift-Cadmium-一个封装CoreData的Swift框架

    5. **查询构建器**:Cadmium提供了链式查询接口,允许开发者用更直观的方式构建和执行Core Data查询,减少了对NSPredicate和NSSortDescriptor的依赖。 6. **错误处理**:框架集成了错误处理机制,当出现错误时,...

    Core Data by Tutorials v6.zip

    3. ** fetch请求**:学习如何编写和执行fetch请求,以查询和过滤数据,理解NSFetchRequest、NSSortDescriptor和NSPredicate的使用。 4. **上下文管理**:理解ManagedObjectContext的作用,以及如何在多个线程间安全...

    ios-CoreData添加、删除数据,聊天记录式分页查询.zip

    CoreData不直接支持分页查询,但我们可以借助NSSortDescriptor来实现。通过设置排序规则,比如按照时间戳降序排列,每次加载一定数量的最新消息。当用户滚动到顶部时,可以加载更多的历史记录。 此外,为了优化用户...

    ios-防微信索引动画,数据模型排序.zip

    2. **基于属性的排序**:如果你的数据模型具有特定的属性(如首字母),可以使用`NSSortDescriptor`来根据属性值进行排序。 3. **自定义排序逻辑**:如果需要更复杂的排序规则,可以提供自定义比较函数或比较块。 ...

    IOS仿新版QQ获取相册功能

    例如,设置`fetchOptions.sortDescriptors`包含一个`NSSortDescriptor`,指定按创建日期降序排列。 4. **限制获取数量**: 如果像描述中提到的,我们只想获取最近的15张照片,可以在获取结果后进行截取。例如,`...

    PhotoKitDemo

    fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)] let assets = PHAsset.fetchAssets(with: .image, options: fetchOptions) let selectedAsset = assets.firstObject ``...

Global site tag (gtag.js) - Google Analytics