İOS'ta Dosya Sahibi ve İlk Yanıtlayıcı nedir - Xcode?


Yanıtlar:


170

Dosya Sahibi, uç yüklendiğinde ucunuzun içeriğinin ve çıkışlarının / eylemlerinin sahibi olan , somutlaştırılmış, çalışma zamanı nesnesidir. İstediğiniz herhangi bir sınıfın bir örneği olabilir - araç paletinin kimlik sekmesine bir göz atın.

Dosya Sahibi, uygulama kodunuz ile uç dosyasının içeriği arasındaki ana bağlantıdır.

Örneğin, UILabel için IBOutlet içeren bir UIViewController alt sınıfınız olduğunu düşünün. Arayüz oluşturucuda, Dosyanın sahibi UIViewController ile aynı sınıfa ayarlanacaktır. Ucunuz çalışma zamanında yüklendiğinde, ucunuzda tanımlanan çıkışların ve eylemlerin bağlantıları, görünüm denetleyiciniz sahibi olduğu için görünüm denetleyicinizin örneğine bağlıdır.

Uçlar şu şekilde yüklenir:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

Sahip parametresi özellikle önemlidir. Bu, yüklenen ucun içeriğine (çıkışlar, eylemler ve nesneler) sahip olan bir sınıfın çalışma zamanı örneğidir.

Umarım bu açıktır. Bunu iş başında görmek için bir görüntü denetleyicisine sahip yepyeni bir iPhone projesi oluşturun. Nib dosyasını açın ve kimlik sekmesine bir göz atın.

İlk yanıtlayıcı, yanıtlayıcı zincirindeki olaylara yanıt verebilen ilk nesnedir. Yanıt veren zinciri, bir olaya yanıt verebilen nesnelerin çalışma zamanı koleksiyonudur (veya daha doğrusu bir hiyerarşidir). Örneğin, manzaralı bir pencereniz olduğunu ve bu görünümde bir metin alanı olduğunu düşünün.

Bu metin alanında odak varsa, zincirdeki ilk yanıtlayıcı olarak bilinir. Dolayısıyla, ilk yanıtlayana bir mesaj gönderirseniz, önce metin alanına gönderilir. Metin alanı mesajı işleyemezse, sonraki yanıtlayıcıya gönderilir . Ve sonraki. Ve bir sonraki, yanıtlayıcı zincirinin sonuna gelene kadar veya bir şey olayı tüketene kadar (iirc).

Yanıtlayıcı zinciri hakkında okumaya değer - daha fazla bilgi için Apple'ın belgelerine bakın.


1
@dannywartnaby: detaylı açıklama !! +1
Jayprakash Dubey

1
harika açıklama!
TM için
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.