#Pragma işaretlerinin önemi nedir? Neden #pragma işaretlerine ihtiyacımız var?


279

#pragmaXcode'daki işaretlerin amacı nedir ? .mDosyalardaki konumları önemli mi? Bazıları #pragmadiğerlerinden önce gelmeli mi?

  • Mevcut olmaları gerekiyor mu?
  • Yeni işaretler eklenebilir mi? Neden olsunlar? Bunun nedeni nedir?
  • Bir işaretin kaldırılmasında herhangi bir zarar var mı? Hiç kimse ister misin?

5
Bağlantıyı kontrol edin: cocoasamurai.blogspot.com/2006/09/…
rptwsthi

Şahsen ben onları sevmiyorum. Cidden, her zaman bir yöntem nereye koymanız gerektiğini düşünmek ister misiniz? Tek Sorumluluk İlkesine dikkat etmek gibi organize olmak için çok daha önemli şeyler var
Brad Thomas

2
Hızlı dil için #Pragma işareti çalışmaz. Daha fazla bilgi için #MARK veya #FIXME veya #TODO bu bağlantıyı kontrol edin stackoverflow.com/a/33040068/1753005
Jayprakash Dubey

Yanıtlar:


315

#pragma markdirektifler menülerde yöntemlere doğrudan erişim için Xcode'da görünür. Program üzerinde hiçbir etkisi yoktur.

Örneğin, Xcode 4 ile kullanılması, bu öğelerin doğrudan Atlama Çubuğu'nda görünmesini sağlar.

pragma mark -Bir çizgi oluşturan bir özel var.

resim açıklamasını buraya girin


Cevabı takdir edin - yeni XCode'da pragma işaretlerinin nasıl göründüğünü (o menüde veya şimdi nerede olursa olsun) gösteren güncel bir cevap gönderebilir misiniz?
user7804781

Python eşdeğeri var mı?
Edward Falk

@EdwardFalk IDE'ye özgüdür, bu yüzden gerçekten IDE / metin düzenleyicinize bağlıdır
Michael Ozeryansky

GCC derleyicim şu uyarıyı verdi: foo.h: 52: 0: uyarı: #pragma mark [-Wunknown-pragmas] #pragma mark - yoksayılıyor, bu ölümcül değil. Yani gcc muhtemelen '-' hakkında bir şey bilmiyor.
Kemin Zhou

55

#pragma markyöntemler grubunu etiketlemek için kullanılır, böylece Jump Çubuğundan yöntemleri kolayca bulabilir ve tespit edebilirsiniz. Kod dosyalarınız yaklaşık 1000 satıra ulaştığında ve Jump kutusundan kategori aracılığıyla hızlı bir şekilde yöntem bulmak istediğinizde size yardımcı olabilir.

Uzun bir programda hatırlamak ve bir yöntem adı bulmak zorlaşır. Böylece pragma işareti yöntemleri yaptıkları işe göre kategorilere ayırmanıza izin verir. Örneğin, Tablo Görünümü Protokol Yöntemleri, AlertView Yöntemleri, Başlatma Yöntemleri, Beyanname vb. İçin bazı etiketler etiketlediniz.

#pragma markXCode için bir tesistir ancak kodunuz üzerinde bir etkisi yoktur. Kodlama sırasında yöntem bulmayı kolaylaştırır.


21

Basit bir deyişle #pragma mark -, yöntemlerin kategorize edilmesinde kullanıldığını söyleyebiliriz , böylece yöntemlerinizi kolayca bulabilirsiniz. Uzun projeler için çok kullanışlıdır.


13

Sadece aradığım bilgileri eklemek için: pragma markXcode'a özgüdür, bu yüzden farklı IDE'lerde açtığınız bir C ++ projesiyle uğraşırsanız, orada herhangi bir etkisi yoktur. Örneğin, Qt Creator'da yöntemler için kategori eklemez veya herhangi bir uyarı / hata oluşturmaz.

DÜZENLE

#pragmaC programlama dilinden gelen bir önişlemci direktifidir. Amacı derleyiciye uygulamaya bağlı bilgileri belirtmektir - yani her derleyici bu yönergeyi istediği gibi yorumlamayı seçebilir. Bununla birlikte, kodun kendisini değiştirmeyen / etkilemeyen bir uzantı olarak kabul edilir. Yani derleyiciler bunu görmezden gelebilir.

Xcode, avantajlarından yararlanan #pragmave kendi özel yöntemiyle kullanan bir IDE'dir . Burada mesele #pragmaXcode ve Objective-C'ye özgü değil.


11

Büyük / uzun bir sınıfa sahip olduğumuzda, 100 satırdan fazla kod yazdığımızda Monitör ekranında her şeyi göremeyiz, dolayısıyla sınıfımızın genel görünümünü (belge öğeleri olarak da adlandırılır) göremeyiz. Bazen sınıfımıza genel bakış görmek istiyoruz; bir bakışta tüm yöntemleri, sabitleri, özellikleri vb. Sınıfınızın genel görünümünü görmek için XCode'da Ctrl + 6 tuşlarına basabilirsiniz. Pop-up penceresine, yani Jump Bar'a sahip olacaksınız.

Varsayılan olarak, bu atlama çubuğunda bölüm / bölüm yoktur. Sadece uzun bir liste. (Atlama Çubuğu göründüğünde yazmaya başlayabiliriz ve atlama çubuğu öğeleri arasında arama yapar). İşte ihtiyacı geliyorpragma mark

Atlama Çubuğunuzda bölümler oluşturmak istiyorsanız, ilgili açıklamaları içeren pragma işaretlerini kullanabilirsiniz. Şimdi söz konusu fotoğrafa bakın. 'Bir bölüm adanmış ..' Orada 'View Yaşam Döngüsü' ve yarattığı bölümleri olan pragma marks



7
#pragma mark - NSSecureCoding

"Pragma" temel amacı geliştirici referansı içindir.resim açıklamasını buraya girin

Bir yöntemi / işlevi kolayca binlerce kodlama satırında bulabilirsiniz.

Xcode 11+:

İşaretleme Çizgisi Üstte

// MARK: - Properties

Üstte ve Altta İşaretleme Çizgisi

// MARK: - Properties - 

İşaretleme Çizgisi yalnızca altta

// MARK: Properties -

Yani hattı kaldırabilir miyim? beynim için yer kaybı.

1
# Pragma-mark kaldırılması kodunuzun herhangi bir işlevselliğini etkilemez, ancak kodunuz okunabilirliğini kaybedebilir. Gerçekten istemiyorsanız, kaldırabilirsiniz.
Jeba Moses
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.