SORU
3 AĞUSTOS 2009, PAZARTESİ


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
6 AĞUSTOS 2009, PERŞEMBE


Mac OS X üzerinde, İBOutlets bu gibi birbirine bağlıdır:

  1. Bir yöntem set<OutletName> adında bir bak;:. Eğer varsa, onu arayın.
  2. 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:

  1. [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:

  1. Bir yöntem set<OutletName> adında bir bak;:. Eğer varsa, onu arayın.
  2. 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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • macpulenta

    macpulenta

    9 EYLÜL 2006
  • tatermoog

    tatermoog

    2 AĞUSTOS 2006
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008