0

TimeInterval属性が astartDateとのみfinishDateで、型が Date であるというエンティティがあります。totalTime次のようにして計算できるため、別の属性を追加する必要はありません。[finishDate timeIntervalSinceDate: startDate]

属性のフェッチされたプロパティを作成できますtotalTimeか? そうでない場合、totalTime を属性として追加する必要がないため、冗長に見えるため、これを行う最善の方法は何ですか。

ちなみに、Core-Data は初めてです。

4

4 に答える 4

1

これは、別のプロパティ (または必要に応じてフルオンの一時属性) で行うことができます。

このようなことを考えてみてください...

@interface Item : NSManagedObject
@property (nonatomic, readonly, assign) NSTimeInterval totalTime;
@end


@implementation Item
- (NSTimeInterval)totalTime
{
    [self willAccessValueForKey:@"totalTime"];
    NSDate *finishDate = [self primitiveFinishDate];
    NSDate *startDate = [self primitiveStartDate];
    NSTimeInterval result = [finishDate timeIntervalSinceDate: startDate];
    [self didAccessValueForKey:@"totalTime"];
    return result;
}
@end
于 2015-08-26T01:25:18.470 に答える
0

属性 totalTime のフェッチされたプロパティを作成できますか? そうでない場合は、属性として totalTime を追加する必要がないように見えるため、これを行う最善の方法は何ですか。

私の答えは次のとおりです。いいえ、取得したプロパティを作成しないでください。これをエンティティの属性として使用したくないため、メソッドを作成するだけです。

-(NSTimeInterval) getTotalTimeWithStartDate:(NSDate *)startDate withFinishDate:(NSDate *)finishDate{
NSTimeInterval interval = [startDate timeIntervalSinceDate:finishDate];
return interval;

}

//そして、このメソッドを呼び出します

[self getTotalTimeWithStartDate:startDate withFinishDate:finishDate];
于 2015-08-25T02:30:58.763 に答える