【发布时间】:2012-10-24 14:21:27
【问题描述】:
我有一个NSManagedObject company,其属性为(NSString*) name 和(NSDate*) lastAvailableInterim。
我想根据以下代码示例计算一组公司 (NSArray *companies) 的汇总值,例如等于季度末的最后一个报告日期:
- (NSDate*)latestAvailableInterimFor:(NSArray*)companies
{ // returns the maximum interim report date for all companies in the selection, date has to have end month = quarter end
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
__block NSDate *maxLatestAvailableInterim;
[self.companies enumerateObjectsUsingBlock:^(IBCompany *company, NSUInteger idx, BOOL *stop) {
NSDateComponents *monthComponents = [gregorian components:NSMonthCalendarUnit fromDate:company.latestAvailableInterim];
NSAssert((company.latestAvailableInterim),@"LatestAvailableInterim must be <> NIL!");
NSInteger month = [monthComponents month];
if ( month % 3 == 0 ) maxLatestAvailableInterim = MAX(maxLatestAvailableInterim, company.latestAvailableInterim);
}];
return maxLatestAvailableInterim;
}
从面向对象的角度并基于MVC方案,我应该把这段代码放在哪里?
在处理结果值或“接近”(NSManagedObject*) company 子类的视图控制器中,或者将类别添加到NSArray 是否有意义?
谢谢!
【问题讨论】:
-
我怀疑它应该进入模型。
-
从mvc的角度来看,你应该把它做成一个模型。正如雷所说。 self.companies 应该是方法的“companies”参数。
标签: objective-c ios oop core-data