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?

Marcus Leon
sumber

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.

nhgrif
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

Stefan Salatic
sumber
-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() {

}
Aditya
sumber