【发布时间】:2011-07-11 10:15:21
【问题描述】:
当我通过引用传递 CoreData 托管对象变量时,为什么我的原始变量没有改变?
所以我在我的 iPhone 应用程序中有一个名为 Config 的 coredata 托管对象。 XCode 4 生成的 *.h 和 *.m 文件中的变量之一是“@dynamic height;”。 (我指出这一点是因为我想知道它是否与此有关)。在代码中访问此变量时,它是一个 NSNumber。
所以当我设置一个新的数据选择视图/控制器时,我在这个控制器中设置一个变量等于高度,这样当我在下一个视图中更改它并返回时,它应该在第一个视图中更改(通过 ref 概念)。
唯一的问题是它似乎没有改变价值?
部分代码摘录:
@interface Config : NSManagedObject {
@private
}
@property (nonatomic, retain) NSNumber * height;
@end
@implementation Config
@dynamic height;
@end
调用第二个视图
// Prepare
SelectorController *sc = [[SelectorController alloc] initWithStyle:UITableViewStyleGrouped];
sc.returnValue = self.config.height;
// Show New Window
[self.navigationController pushViewController:sc animated:YES];
[sc release];
部分控制器
@interface SelectorController : UITableViewController {
NSNumber *_returnValue;
}
@property (nonatomic, retain) NSNumber *returnValue;
@end
【问题讨论】:
标签: iphone objective-c ios core-data pass-by-reference