我认为这是一个简单的问题,但我有某种方式泄漏核心数据中的对象。我在核心数据中有一个简单的一对一关系。创建一个瞬态关系属性
Person <--------> Address
-name -city
-email -country
人模型相对简单,只有很少的属性。但是,我想添加Person类中的getter来从person类本身访问城市和国家。所以,我不喜欢的东西,
@interface Person:NSManagedObject
@property(nonatomic, strong) NSString *name;
@property(nonatomic, strong) NSString *email;
@property(nonatomic, strong) Address *address;
-(NSString*)city;
-(NSString*)country;
@end
@implementation Person
-(NSString*)city{
[self willAccessValueForKey:@"address"];
NSString *c = [self valueForKeyPath:@"address.city"];
[self didAccessValueForKey:@"address"];
}
-(NSString*)country{
[self willAccessValueForKey:@"address"];
NSString *c = [self valueForKeyPath:@"address.country"];
[self didAccessValueForKey:@"address"];
}
@end
有了这些消气,我已经能够与人模型只是简单的getter访问的城市;
person.city and person.country
但是,我觉得这不是正确的做法。如何实现此功能以确保内存不泄漏。
不,我有一些需要访问该值的情况。我正在做的方式正确地获取值,但这种方法存在一些泄漏。 – Sandeep