2010-07-12 27 views
6

@ class veya #import nesnel-c kullanırken ne fark var? başkalarının en alma kullandığınızda ise@class vs #import

Çeşitli öğreticiler ve sadece birkaç kullanım @class gördük.

+0

[Objective-C @class vs. #import] dosyasının olası kopyası (http://stackoverflow.com/questions/322597/objective-c-class-vs-import) – kubi

cevap

14

@class dosyayı içe aktarmıyor, sadece derleyiciye diyor ki "Bu sınıf sizi tanımıyor olsanız bile var, kullanmam durumunda uyarmayın". #import aslında dosyayı içe aktarır, böylece tüm yöntemleri ve örnek değişkenlerini kullanabilirsiniz. @class, zaman derlemesinden tasarruf etmek için kullanılır (tüm dosyanın içe aktarılması, derlemenin daha fazla zaman almasını sağlar). İsterseniz, #import'u kullanabilirsiniz, projeniz için daha uzun sürebilir.

+2

Bazen özellikle yuvarlak referanslar söz konusu olduğunda kesinlikle #import kullanamazsınız. @ sınıf bir sınıfın ileri bir beyanıdır ve sınıfı tanımlamamasından dolayı, dairesel referansları kırabilir. –

+0

# Her bir dosyayı bir defada ekleyerek #import'a karşı korumalı olduğunu düşündüm. –