2013-12-17 21 views
5

Apple Doc, diyor Bir düğüm dosyasındaki en önemli nesnelerden biri, Dosya'nın Sahiplenişi nesnesinin nesnesi'dur, ancak Dosya'nın sahibi, LoadNibName yöntemiyle ayarlanmış bir dosya değil, dosya sahibindedir. Acaba aralarındaki fark nedir?loadNibNamed'i kullanırken sahibin anlamı nedir?

ben xib bir alertView özelleştirmek ve bunun gibi statik bir sınıf yöntemi sunuyoruz: İşte

bir örnektir

+(CustomAlert *)sharedAlert{ 
    CustomAlert *alert = [[[NSBundle mainBundle] loadNibNamed:@"CustomAlert" owner:nil options:nil]lastObject]; 
    return alert; 
} 

ve görünüm üzerinde uyarı göstermek için bir yöntem var

- (void)showInView:(UIView *)view{ 
    [view addSubview:self]; 
} 

ve görünümümdeKontroller:

- (IBAction)buttonPressed:(id)sender{ 
    CustomAlert *alert = [CustomAlert sharedAlert]; 
    [alert showInView:self.view]; 
} 

o yüzden [[[NSBundle mainBundle] loadNibNamed: owner: options: sahibini ayarlamak gerekir, benim durumda iyi çalışır?

cevap

2

Diyelim ki bağladım bir tableview ve tableviews temsilci ve veri kaynağı ile uç dosya var diyelim arayüz oluşturucu "dosyaları sahibi" için. Dosya sahibini herhangi bir nesneye ayarlarsanız, o nesne tablo kaynağının veri kaynağı ve temsilcisidir. Bu, dosya sahibine bağlanan her şey için geçerlidir.

+0

Ben Dosyanın sahibi ucu dosyasında önemli olduğunu biliyorum, ama o '[[[NSBundle mainBundle] loadNibNamed içinde anlamını merak: sahibi: seçenekleri:' ve neden benim durumda çalışma. – johnMa

+1

aynı anlama gelir, CustomAlert UIAlertView veya UIButton alt sınıfınız mı? Eğer bir uyarı görüşü varsa, delegeyi nasıl belirlersiniz? Bir UIButton ise, nasıl hedef eklersiniz? Her iki durumda da programlı olarak yapıyorsanız, dosyanın sahibine ihtiyacınız yoktur. –

+0

yani ne demek istedin ben CustomAlert sınıfına hedefi eklemek çünkü CustomAlert en Dosyanın sahibi CustomAlert sınıftır nedir? – johnMa