@Arabirim tanımı arasındaki fark .h ve .m dosya
Normalde kullanıyoruz
@interface interface_name : parent_class <delegates>
{
......
}
@end
yöntemi .h dosyası .biz m değişkenlerin özellikleri ilan sentezi dosyası .h dosyası.
Ama bazı kodlar, @interface.....@end yöntem bu tutulur .m dosyası da. Bu ne anlama geliyor? Aralarındaki fark nedir?
Ayrıca, tanımlı arayüz dosyası için alıcı ve ayarlayıcıları hakkında birkaç söz ver .m dosya...
Şimdiden teşekkürler
CEVAP
Ortak koymak özel yöntemler içeren bir kategori tanımlayan @interface ek
KiÅŸi.h:
@interface Person
{
NSString *_name;
}
@property(readwrite, copy) NSString *name;
-(NSString*)makeSmallTalkWith:(Person*)person;
@end
KiÅŸi.m:
@interface Person () //Not specifying a name for the category makes compiler checks that these methods are implemented.
-(void)startThinkOfWhatToHaveForDinner;
@end
@implementation Person
@synthesize name = _name;
-(NSString*)makeSmallTalkWith:(Person*)person
{
[self startThinkOfWhatToHaveForDinner];
return @"How's your day?";
}
-(void)startThinkOfWhatToHaveForDinner
{
}
@end
'Özel kategorisi (isimsiz bir kategori için uygun bir isim değil' özel kategori',' sınıf uzantısı').'m yöntemleri tanımlanan uyarı derleyici engeller. Ancak, @interface çünkü .m dosyası içinde bugün ivan'ın tanımlayabilirsiniz. bir kategoridir.
Update 6 '12: Objective-C bu cevap yazıldığından bu yana gelişti: . Ağu
ivarssınıfın uzantısı (ve her zaman cevap yanlış olabilir) bildirilebilir@synthesizegerekli değildirivars@implementationüst: parantez içinde bildirilebilir@uygulanması { kimliği _ivarİnİmplmentation; } //yöntem @son

Tanımı ve beyan arasındaki fark nedir?...
'bağımlılıkları arasındaki fark n...
Scala artış var ve val tanımı arasında...
Bir cer, pvk ve pfx dosya arasındaki f...
'in ne dört arasındaki fark ASP.N...