Bir sınıf, FooView
, yani kimin görünümü bir uç yüklenen bir UIView
alt sınıfı ve bir var, bir şey gibi:bir uç yüklenen bir UIView alt sınıfı sınıflara
+ (instancetype)viewFromNib
{
NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"FooView" owner:self options:nil];
return [xib objectAtIndex:0];
}
ucu kendisi Custom vardır Sınıf, Kimlik Denetçisinde FooView
'a ayarlandı. Bu beklediğiniz gibi davranır
FooView *view = [FooView viewFromNib];
: olarak
Bu
örneği. FooView kendisi FooSubclassView olarak sınıflandırma ve örneği zaman Ancak gibidir:FooSubclassView *view = [FooSubclassView viewFromNib];
view
tip FooView
değil FooSubclassView
korumaktadır. alt örneği adı verilen altta yatan amacı, FooView
bir örneği olduğu gerçeğini düzeltmez object_setClass
ile sınıf Swizzling
ve böylece yöntem olup FooSubclassView
üst sınıf (FooView
) ait olanlar olacaktır.
Her alt sınıf için yeni bir uç oluşturmak zorunda kalmadan veya her bir alt sınıfa yeniden viewFromNib
yeniden sahip olmak zorunda kalmadan alt sınıfların doğru türde olmasını sağlamak için bunu nasıl düzeltebilirim?
Bunu tam olarak anlamıyorum. Görünüm Dosya Sahibi ise, IB kullanarak çizdiğiniz görsel "tuval" olacak başka bir sınıfa ihtiyacınız var, değil mi? Maalesef bu soru açık değilse üzgünüm, ancak içinde yalnızca bir tek NSView alt sınıfıyla bir NIB var. Teşekkür ederim! –