Swift: Memahami // MARK


149

Apa tujuan menulis komentar di Swift sebagai:

// MARK: This is a comment

Kapan Anda juga bisa melakukan:

// This is a comment

Apa // MARKpencapaiannya?

Jawaban:


268

The // MARK:dan // MARK: -sintaks dalam fungsi Swift identik dengan #pragma markdan #pragma mark -sintaks di Objective-C.

Saat menggunakan sintaks ini (plus // TODO:dan // FIXME:), Anda bisa mendapatkan beberapa informasi tambahan untuk ditampilkan di bilah lompat cepat.

Pertimbangkan beberapa baris kode sumber berikut:

// MARK: A mark comment lives here.

func isPrime(_ value: UInt) -> Bool { return true }

masukkan deskripsi gambar di sini

Dan untuk referensi, bilah lompat cepat ada di bagian atas di Xcode:

masukkan deskripsi gambar di sini

Itu ada sebagian besar untuk membantu navigasi cepat di dalam file.

Perhatikan bahwa tanda hubung ( // MARK: -) menyebabkan garis pemisah yang bagus muncul. Pertimbangkan MARKkomentar ini :

// MARK: - A mark comment lives here.

masukkan deskripsi gambar di sini

Garis pemisah abu-abu gelap tepat di atas opsi yang dicetak tebal di menu itu berasal dari tanda hubung.

Selain itu, kita dapat mencapai garis pemisah ini tanpa komentar hanya dengan tidak memiliki teks apa pun setelah tanda hubung:

// MARK: -

masukkan deskripsi gambar di sini

Seperti yang disebutkan, // TODO:dan // FIXME:komentar juga akan muncul di sini.

// MARK: - Prime functions

func isPrime(_ value: UInt) -> Bool {
    // TODO: Actually implement the logic for this method
    return true
}

func nthPrime(_ value: UInt) -> Int {
    // FIXME: Returns incorrect values for some arguments
    return 2
}

masukkan deskripsi gambar di sini

  • FIXME mendapatkan ikon bantuan pita kecil yang membantu mereka menonjol.
  • Ikon MARK tampak seperti daftar isi
  • Ikon TODO lebih terlihat seperti daftar periksa

Mengklik baris mana pun di bilah lompat cepat akan membawa Anda langsung ke baris tersebut di kode sumber.


Apakah fungsionalitas ini khusus untuk Swift / Objective-C atau Xcode?
ma11hew28

Xcode, mungkin. Meskipun, saya dapat dengan mudah membayangkan bahwa IDE lain berpotensi menunjukkan perilaku serupa.
nhgrif

Anda juga dapat meletakkan tanda hubung setelah teks Anda // MARK: /Delegate impl. -,, untuk menandai akhir suatu bagian, atau mengapa tidak keduanya:// MARK: - Attention! -
Andreas

Tanda hubung @ Andreas -hanyalah garis horizontal. Tidak ada tanda tambahan apa pun yang menunjukkan arti akhir bagian .
oops

@ooops Maaf, saya tidak sepenuhnya yakin apa yang Anda maksud. Ya, itu garis horizontal.
Andreas

10

MARK hanya menambahkan MARK visual di bilah lompat seperti ini:

ex // MARK: Core Data Stack

masukkan deskripsi gambar di sini


-6

Anda selalu bisa menggunakan

// MARK: - Properties
var name: String

// MARK: - Methods
func display() {
}

init(name: String, rollNumber: Int) {

    // TODO: add configuration code
    self.name = name
}

// FIXME: bug XYZ
func fixBug() {

}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.