error: writable atomic property 'miaProperty' cannot pair a synthesized setter/getter with a user defined setter/getter
Bene: significa che state usando in modo disinvolto la definizione delle property di Cocoa!
Infatti, nella definizione
@property (retain,...) NSObject *miaProperty;se non viene esplicitato nonatomic, i metodi saranno atomic per default. Allora non potrete usare
@synthetize
nell'implementazione della classe, fornendo anche una vostra implementazione degli stessi metodi.Quindi, per eliminare il problema, potete fare una delle 3 cose seguenti:
- usare la direttiva
@dynamic
(invece di @synthetize
);- usare
@synthetize
, ma tenersi i metodi automatici, senza fornirne di propri;- non usare alcuna direttiva e scrivere per proprio conto entrambi i metodi setter/getter.
Esiste anche un quarto metodo, che consiste nel dichiarare
nonatomic
la property, consigliabile solamente se non abbiamo necessità di settare/leggere la property da thread diversi.
Nessun commento:
Posta un commento