Bir İBOutlet bir özelliği olması gerekir & sentezlenmiş mu?
Çoğu örneklerde İBOutlets aşağıdaki Kur görüyorum
(Example A)
FooController.h:
@interface FooController : UIViewController {
UILabel *fooLabel;
}
@property (nonatomic, retain) IBOutlet UILabel *fooLabel;
@end
FooController.m:
@implementation FooController
@synthesize fooLabel;
@end
Ama bu (dikkat: hiçbir özelliği ve hiçbir sentez) de gayet iyi çalışıyor:
(Example B)
FooController.h:
@interface FooController : UIViewController {
IBOutlet UILabel *fooLabel;
}
@end
FooController.m:
@implementation FooController
@end
Örnek B olarak İBOutlets tanımlayan herhangi bir dezavantajı var mı? Gibi bellek sızıntısı? İyi iş gibi görünüyor ve ortak özellikleri olarak İBOutlets değil ifşa etmeyi tercih ederim gibi kullanılmaz, sadece kontrol uygulamasında kullanılır. Gerçek bir ihtiyaç olmadan üç yerde bu tanımlama çok KURU (Kendini Tekrar Etme) olarak beni alakadar etmez.
CEVAP
Mac OS X üzerinde, İBOutlets bu gibi birbirine bağlıdır:
- Bir yöntem set<OutletName> adında bir bak;:. Eğer varsa, onu arayın.
- Eğer bir yöntem varsa, bir örnek değişkeni adlı <OutletName>, ayarlayınistinat olmadan.
İPhone OS, İBOutlets bu gibi birbirine bağlıdır:
- [nesne görüntülemek için:outletValue forKey:@"&; OutletName< gt;"] çağırın
Anahtar için değer ayarla davranışını böyle bir şey için:
- Bir yöntem set<OutletName> adında bir bak;:. Eğer varsa, onu arayın.
- Ayarlayın ve . eğer bir yöntem varsa, bir örnek değişkeni adlı <OutletName>, ^strong>korur.
Eğer bir özellik kullanırsanız, içine düşeceksin "Bir yöntem set<OutletName> adında bir bak;:..." her iki platformda durumda. Eğer sadece bir örnek değişkenini kullanırsanız, o zaman farklı Mac OS X VS iPhone OS/bırak davranışı korumak zorundasın. Bir örnek değişkenini kullanarak yanlış bir şey yok, platformlar arasında geçiş olarak sadece bu fark davranış ile uğraşmak gerekir.
İşte sadece bu konu üzerinde tam belgelerine bir bağlantı. http://developer.apple.com/documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html#//apple_ref/doc/uid/10000051i-CH4-SW6
Geliştiriciler kendi PC üzerinde yönet...
switch case deyimi hata: case ifadeler...
MySQL UTC saat dilimi için ayarlanmış ...
Bir C# neden "Gönderen" para...
Gulp eğer data: yol için Argümanlar.ka...