コアデータがコアデータ以外のものを参照しているとは思えませんでした。したがって、参照サイクルが存在する方法はありません。最大コア データ オブジェクトは、別のコアデータ オブジェクトを指します。
しかし、私は間違っているかもしれません。
Managedobjectcontext は、コア データへの強い参照を保持しません。
ここにガイドはありますか?
コアデータがコアデータ以外のものを参照しているとは思えませんでした。したがって、参照サイクルが存在する方法はありません。最大コア データ オブジェクトは、別のコアデータ オブジェクトを指します。
しかし、私は間違っているかもしれません。
Managedobjectcontext は、コア データへの強い参照を保持しません。
ここにガイドはありますか?
私は現在、参照が強いか弱いかについても確信が持てません。前の人たちは強いはずだと言いましたが、私はこれを見つけました:
コード例では、Apple はこれを行います。
@interface DetailViewController : UIViewController
@property (weak) AAAEmployeeMO *employee;
@end
私たちがよく行うのは、オブジェクトの主キーへの強い参照を持ち、オブジェクトが nil の場合に遅延初期化を行う弱いプロパティを持つことです。このような;
@interface MyVC : UIViewController
@property (nonatomic, strong) NSString *objectId;
@property (nonatomic, weak) SomeObject *myCoolObject;
@end
@implementation MyVC
- (SomeObject *)myCoolObject {
if (_myCoolObject == nil) {
_myCoolObject = [SomeObject MR_findFirstByAttribute:@"primaryKey" withValue:self.objectId];
}
return _myCoolObject;
}
ただし、これが正しい方法であるかどうかはまだわかりません。私を修正してください。