在int中转换数据(来自模型)

时间:2012-11-30 19:42:10

标签: objective-c

我有这个模特:

@interface Data : NSObject
@property (nonatomic, assign) NSDate *Start;
@property (nonatomic, assign) NSDate *End;
@property (nonatomic, assign) int Days;
@property (nonatomic, assign) double moneyEuro;
@property (nonatomic, assign) double moneyUsa;
@end

一个可变阵列:

@property (strong, nonatomic) NSMutableArray* myArray;

将数据添加到Array:

Data *data =[ [Data alloc] init];
data.Start = startTemp;
data.End = endTemp;
data.Days = daysTemp;
data.moneyEuro = moneyEuroTemp;
data.moneyUsa = moneyUsaTemp;
[self.myArray addObject:data];

然后我想只提取int Days并总结它们:

  Data * daysArr = [self.myArray valueForKeyPath:@"@sum.Days"];
  NSLog(@"days %@", daysArr);

但是daysArr是一个NSString ??? NSLogs正常工作......

如何将daysArr更改为int(因为应该是因为Days是int)?

我试过了:

Days = [daysArr intValue];

但我收到错误:没有可见的数据接口声明了选择器intValue

1 个答案:

答案 0 :(得分:1)

"键值编码编程指南" " @ sum"的状态收集运营商:

  

@sum运算符返回属性值的总和   由操作员权限的关键路径指定。每个号码都是   转换为double,计算值的总和,并且   total被包装为NSNumber的一个实例并返回。

所以以下内容应该有效:

NSNumber *sumDays = [self.myArray valueForKeyPath:@"@sum.Days"];
int days = [sumDays intValue];