Come di Xcode 8 Objective-C supporta ora proprietà di classe:
@interface MyClass : NSObject
@property (class, nonatomic, assign, readonly) NSUUID* identifier;
@end
Dal proprietà di classe non sono mai sintetizzati, devi scrivere la tua implementazione.
@implementation MyClass
static NSUUID*_identifier = nil;
+ (NSUUID *)identifier {
if (_identifier == nil) {
_identifier = [[NSUUID alloc] init];
}
return _identifier;
}
@end
si accede alle proprietà della classe utilizzando la sintassi del punto normale sul nome della classe:
MyClass.identifier;
Qualche idea sul motivo per cui ciò potrebbe causare un'eccezione BAD ACCES? Sto caricando un UITableView e il primo lotto carica bene ma nello scorrimento ottieni BADACCES. – mamcx
Dovresti incollare il tuo codice. È importante ricordare che per impostazione predefinita UITableView riutilizza le celle durante lo scorrimento se hanno lo stesso identificatore. –
È giusto? Non imposterà fooDict su zero dato che la prima riga del metodo dizionario porta sempre a ricreare il dizionario ogni volta? – PapillonUK