Ich bin derzeit auch unsicher, ob Referenzen stark oder schwach sein sollten. Die vorherigen Jungs sagten, dass sie stark sein sollten, aber dann fand ich das hier:
https://developer.apple.com/library/prerelease/watchos/documentation/Cocoa/Conceptual/CoreData/CoreDataandStoryboards.html#//apple_ref/doc/uid/TP40001075-CH10-SW1
Im Beispielcode macht Apple das:
@interface DetailViewController : UIViewController
@property (weak) AAAEmployeeMO *employee;
@end
Was wir normalerweise tun, ist eine starke Referenz zum Primärschlüssel des Objekts zu haben und dann eine schwache Eigenschaft, die die träge Initialisierung durchführt, wenn das Objekt null ist. Wie das hier:
@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;
}
Ich bin immer noch unsicher, ob dies der richtige Weg ist. Bitte korrigieren Sie mich.