İOS uygulamaları ve C hedefi üzerinde çalışmaya başladığımdan beri, değişkenlerin açıklanabileceği ve tanımlanabileceği farklı konumlar beni gerçekten şaşırttı. Bir yandan geleneksel C yaklaşımına sahibiz, diğer yandan bunun üzerine OO ekleyen yeni ObjectiveC direktiflerine sahibiz. Millet, değişkenlerim için bu konumları kullanmak istediğim en iyi uygulama ve durumları anlamama ve belki de mevcut anlayışımı düzeltmeme yardım edebilir misiniz?
Örnek bir sınıf (.h ve .m):
#import <Foundation/Foundation.h>
// 1) What do I declare here?
@interface SampleClass : NSObject
{
// 2) ivar declarations
// Pretty much never used?
}
// 3) class-specific method / property declarations
@end
ve
#import "SampleClass.h"
// 4) what goes here?
@interface SampleClass()
// 5) private interface, can define private methods and properties here
@end
@implementation SampleClass
{
// 6) define ivars
}
// 7) define methods and synthesize properties from both public and private
// interfaces
@end
- Benim 1 ve 4'ü anladığım, bunların sınıf kavramını hiçbir şekilde anlamayan ve bu nedenle C'de tam olarak nasıl kullanılacağına dair C tarzı dosya tabanlı bildirimler ve tanımlar olduğudur. Onları gördüm. daha önce statik değişken tabanlı tekilleri uygulamak için kullanılır. Kaçırdığım başka kullanışlı kullanımlar var mı?
- İOS ile çalışmaktan aldığım sonuç, ivarların @synthesize yönergesinin dışında neredeyse tamamen aşamalı hale getirildiği ve bu nedenle çoğunlukla göz ardı edilebilecekleri. Durum bu mu?
- 5'e gelince: Neden özel arayüzlerde yöntem bildirmek isteyeyim? Özel sınıf yöntemlerim arayüzde bir bildirim olmadan gayet iyi derleniyor gibi görünüyor. Çoğunlukla okunabilirlik için mi?
Çok teşekkürler millet!