Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
Ios 核心数据按日期排序NSSortDescriptor_Ios_Core Data_Nssortdescriptor - Fatal编程技术网

Ios 核心数据按日期排序NSSortDescriptor

Ios 核心数据按日期排序NSSortDescriptor,ios,core-data,nssortdescriptor,Ios,Core Data,Nssortdescriptor,我一直在寻找使用NSSortDescriptor对数据进行排序的问题的答案。我正在开发核心数据应用程序,比如说,我有一个摄影师和照片实体(一对多)一个摄影师可以有很多照片。我需要做的是能够显示按最新照片排序的摄影师列表。所以,如果摄影师A昨天上传了照片,摄影师B今天上传了照片,我需要在我的TableView中显示这一点 摄影师B 摄影师A 我在下面使用的代码是按时间戳对摄影师进行排序,我在照片中也有相同的时间戳属性。我如何根据摄影师拍摄的时间戳对其进行分类 我无法使用@“Photos.timeS

我一直在寻找使用NSSortDescriptor对数据进行排序的问题的答案。我正在开发核心数据应用程序,比如说,我有一个摄影师和照片实体(一对多)一个摄影师可以有很多照片。我需要做的是能够显示按最新照片排序的摄影师列表。所以,如果摄影师A昨天上传了照片,摄影师B今天上传了照片,我需要在我的TableView中显示这一点

摄影师B 摄影师A

我在下面使用的代码是按时间戳对摄影师进行排序,我在照片中也有相同的时间戳属性。我如何根据摄影师拍摄的时间戳对其进行分类

我无法使用@“Photos.timeStamp”,因为照片是NSSet,可能有多张照片

- (NSFetchedResultsController *)PhotographerFRC
{
    if (!_PhotographerFRC) {

        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@“Photographer"];

        fetchRequest.sortDescriptors =@[[NSSortDescriptor sortDescriptorWithKey:@"timeStamp" ascending:NO]];

        //[fetchRequest setFetchBatchSize:20];

         _PhotographerFRC = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:MOC sectionNameKeyPath:nil cacheName:nil];

        _PhotographerFRC.delegate = self;
    }
    return  _PhotographerFRC;
}

摄影师
上创建一个名为
lastPhotoDate
的附加属性,并在通过覆盖摄影师子类上的
addPhotosObject
方法创建新的
照片
时设置该属性

下面是一个例子

//
//  Company.h
//  CoreDataLibraryApp
//
//  Created by Duncan Groenewald on 13/01/2014.
//  Copyright (c) 2014 OSSH Pty Ltd. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>

@class Person, Program;

@interface Company : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *programs;
@property (nonatomic, retain) NSSet *employees;
@end

@interface Company (CoreDataGeneratedAccessors)

- (void)addProgramsObject:(Program *)value;
- (void)removeProgramsObject:(Program *)value;
- (void)addPrograms:(NSSet *)values;
- (void)removePrograms:(NSSet *)values;

- (void)addEmployeesObject:(Person *)value;
- (void)removeEmployeesObject:(Person *)value;
- (void)addEmployees:(NSSet *)values;
- (void)removeEmployees:(NSSet *)values;

@end



- (void)addEmployeesObject:(Person *)value {

    NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1];

    [self willChangeValueForKey:@"employees"
          withSetMutation:NSKeyValueUnionSetMutation
          usingObjects:changedObjects];
    [[self primitiveEmployees] addObject:value];
    [self didChangeValueForKey:@"employees"
          withSetMutation:NSKeyValueUnionSetMutation
          usingObjects:changedObjects];

   self.lastPhotoDate = value.timeStamp;
}
//
//h公司
//CoreDataLibraryApp
//
//由Duncan Groenewald于2014年1月13日创建。
//版权所有(c)2014 OSSH私人有限公司。保留所有权利。
//
#进口
#进口
@班级人员、程序;
@接口公司:NSManagedObject
@属性(非原子,保留)NSString*名称;
@属性(非原子,保留)NSSet*程序;
@财产(非原子,保留)NSSet*员工;
@结束
@接口公司(CoreDataGeneratedAccessor)
-(void)addProgramsObject:(程序*)值;
-(void)removeProgramsObject:(程序*)值;
-(void)addPrograms:(NSSet*)值;
-(void)移除程序:(NSSet*)值;
-(作废)新增员工对象:(人*)价值;
-(作废)removeEmployeesObject:(人*)值;
-(void)addEmployees:(NSSet*)值;
-(void)removeEmployees:(NSSet*)值;
@结束
-(无效)addEmployeesObject:(人*)值{
NSSet*changedObjects=[[NSSet alloc]initWithObjects:&值计数:1];
[任性改变价值观Forkey:@“员工”
with setmutation:NSKeyValueUnionSetMutation
使用对象:changedObjects];
[[self primitiveEmployees]addObject:value];
[self didChangeValueForKey:@“员工”
with setmutation:NSKeyValueUnionSetMutation
使用对象:changedObjects];
self.lastprotodate=value.timeStamp;
}

您是否需要按摄影师及其时间戳进行排序。。ie)列出摄影师A和他的分类照片,然后列出摄影师B和他的分类照片..不,我需要按每个摄影师的最新照片排序。。。因此,如果摄影师A昨天上传了最后一张照片,而摄影师B今天上传了最后一张照片,我需要摄影师B,然后是摄影师A……如果摄影师B有10张照片,那么摄影师B的所有照片都将首先显示,然后是摄影师A的照片。我是对的。我只想根据最新上传的照片向摄影师展示……摄影师需要根据他们最新的照片进行分类