我完全noob在objective-c和我想整天找到解決這個問題:
我有兩個實體(存儲和費用)。
在存儲中我有一個屬性「數字」。
的開支我有一個屬性「數字」和另一個名爲「成本」
兩個實體通過可可綁定
兩個NSArrayControllers我已經創建的子類,所以我可以創建以下動作掛錶:
1。乘以Expenses.selection.number與Storage.selection.cost
我這個代碼的費用ArrayController這樣做:ObjC /核心數據。我如何從另一個NSArrayController更改實體的鍵值?
- (IBAction)submit:(id)sender {
NSNumber *price = [NSNumber numberWithFloat:[[self.selection valueForKey:@"storage.buy"] floatValue]];
NSNumber *insert = [NSNumber numberWithInt:[[self.selection valueForKey:@"number"] intValue]];
NSNumber *cost;
cost = [NSNumber numberWithFloat:[insert intValue] * [price floatValue]];
[self.selection setValue:cost forKey:@"cost"];
2.獲得Storage.selection.number並添加費用。 SEL ection.number
這裏我有一個問題。在ArrayController我嘗試費用:
NSNumber *stock = [NSNumber numberWithInt:[[self.selection valueForKey:@"storage.number"] intValue]];
sum = [NSNumber numberWithInt:[stock intValue] + [insert intValue]];
[self.selection setValue:sum forKey: @"storage.number"];
但我得到:[<NSManagedObject 0x10013ad50> setValue:forUndefinedKey:]: the entity Expenses is not key value coding-compliant for the key "Storage.number".
我也試圖創建存儲ArrayController的方法:
-(void)setNumber:(NSNumber*)number{
[self.selection setValue:number forKey: @"number"];
}
但是當我這樣稱呼它:[Storage seNumber: sum];
它返回:
+[Storage setNumber:]: unrecognized selector sent to class 0x100003430
我也試過:
Storage *st = [[Storage alloc] init];
[st setNumber: sum];
[st release];
,雖然它不返回任何錯誤信息,這是行不通的。
任何想法如何解決這個問題?非常感謝。
OMG,所有這一次是那麼容易??非常感謝你的幫助.. :) – Pr301 2010-02-12 07:26:50