Bunu UITableView'ın başlık dosyasında buldum ve projem ARC kullanıyor olsa da hemen hemen her özellik ark değil.Neden UITableView'ın temsilci özelliği özniteliği zayıf değil
Elma yerineassign
ait
weak
özelliğini kullanmayan Neden
@property (nonatomic, assign) id <UITableViewDataSource> dataSource;
@property (nonatomic, assign) id <UITableViewDelegate> delegate;
, dışı yay için bir geriye dönük uyumluluk nedir? Eğer öyleyse, ARC'yi ve ARC'yi ayırt etmek için neden __has_feature(objc_arc)
'u kullanmayın.
#if __has_feature(objc_arc)
@property (nonatomic, weak) id <UITableViewDataSource> dataSource;
@property (nonatomic, weak) id <UITableViewDelegate> delegate;
#else
@property (nonatomic, assign) id <UITableViewDataSource> dataSource;
@property (nonatomic, assign) id <UITableViewDelegate> delegate;
#endif
ben temsilci örneği ayırmanın nil temsilci ayarlamak gerek kalmaz delegate
zayıftır umuyoruz. Yardımlarınız için
teşekkürler.
Düzenleme:
benim dağıtım hedef 4.3 olduğunda ben ARC kullanabilirsiniz ama sonra weak
kullanamazsınız çünkü __has_feature(objc_arc)
yanlış olduğunu unutmayın. Dolayısıyla, dağıtım hedefimin 5.0 veya üstü olması şartı olmalıdır. Eğer atama var bir temsilci varken, her zaman nesne ayırmanın olacak her nil o temsilci değerini ayarlamak için çok önemli hale getirdiğini
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_5_0
@property (nonatomic, weak) id <UITableViewDataSource> dataSource;
@property (nonatomic, weak) id <UITableViewDelegate> delegate;
#else
@property (nonatomic, assign) id <UITableViewDataSource> dataSource;
@property (nonatomic, assign) id <UITableViewDelegate> delegate;
#endif
Buradaki açıklamama bakın: http://stackoverflow.com/a/24469143/341994 "ARC olmayanlarla geriye dönük olarak uyumlu değil"; bu _is_ olmayan ARC. – matt
@matt Çok teşekkür ederim. Eğer ARC destekli daha iyi bir Kakao sağlamak için '#if __IPHONE_OS_VERSION_MIN_REQUIRED> = __IPHONE_5_0' kullanarak Apple'ın daha iyi olacağını düşünüyor musunuz? Ya da bunu başarmak çok zor. – KudoCC
Kakao'nun bu parçaları eskidir. Yakında hiçbir zaman değişmeyecekler. ARC'den uzun yıllar önceydi. Onlar oldukları gibi. Devam et. – matt