böyle bir protokol var NSManagedObject alt sınıfta tayin gerektirir CoreData
bu yüzden CDUser
varlık oluşturdum (Xcode
ayrıca bunun için kategori oluşturur):Mülkiyet yöntemi
// CDUser.h
@interface CDUser : NSManagedObject <UserProtocol>
@end
// CDUser+CoreDataProperties.h
@interface CDUser (CoreDataProperties)
@property (nullable, nonatomic, retain) NSNumber *uid;
@property (nullable, nonatomic, retain) NSString *name;
@property (nullable, nonatomic, retain) NSNumber *rating;
@end
// CDUser+CoreDataProperties.m
@implementation CDUser (CoreDataProperties)
@dynamic uid;
@dynamic name;
@dynamic rating;
@end
CDUser
aslında UserProtocol
uygular ama bu nedenle tüm özellikleri için benzer uyarılar var:
Property 'uid' requires method 'uid' to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation
aşağıdaki hatayı olsun Sonra CDBook.m
tekrar @dynamic uid;
eklersek: Nasıl bu
Property declared in category 'CoreDataProperties' cannot be implemented in class implementation
çözebilir uyarılar uygun şekilde mi? Neden CDUser
bu protokolü uygulamıyor
Bu kod Xcode tarafından otomatik olarak üretilir, böylece sonraki jenerasyonda protokoller tanımlarınız kaldırılacaktır. – eXhausted