Swift: Hiểu // đánh dấu


137

Mục đích viết bình luận trong Swift là gì:

// MARK: This is a comment

Khi nào bạn cũng có thể làm:

// This is a comment

Những gì // MARKđạt được?

Câu trả lời:


251

Các // MARK:// MARK: -cú pháp trong Swift chức năng y hệt #pragma mark#pragma mark -cú pháp trong Objective-C.

Khi sử dụng cú pháp này (cộng // TODO:// FIXME:), bạn có thể nhận được một số thông tin bổ sung để hiển thị trong thanh nhảy nhanh.

Hãy xem xét một vài dòng mã nguồn:

// MARK: A mark comment lives here.

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

nhập mô tả hình ảnh ở đây

Và để tham khảo, thanh nhảy nhanh nằm ở đầu trong Xcode:

nhập mô tả hình ảnh ở đây

Nó tồn tại chủ yếu để giúp điều hướng nhanh chóng trong tập tin.

Lưu ý rằng dấu gạch ngang ( // MARK: -) làm cho một đường phân tách đẹp hiển thị. Xem xét MARKnhận xét này :

// MARK: - A mark comment lives here.

nhập mô tả hình ảnh ở đây

Dòng phân cách màu xám đậm hơn ngay phía trên tùy chọn được in đậm trong menu đó đến từ dấu gạch ngang.

Ngoài ra, chúng ta có thể đạt được dòng phân tách này mà không cần nhận xét bằng cách đơn giản là không có bất kỳ văn bản nào sau dấu gạch ngang:

// MARK: -

nhập mô tả hình ảnh ở đây

Như đã đề cập, // TODO:// FIXME:ý kiến ​​cũng sẽ xuất hiện ở đây.

// 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
}

nhập mô tả hình ảnh ở đây

  • FIXMEs có được một biểu tượng hỗ trợ ban nhạc nhỏ giúp họ nổi bật.
  • Biểu tượng Mark trông giống như một bảng mục lục
  • Các biểu tượng TODO trông giống như một danh sách kiểm tra

Nhấp vào bất kỳ dòng nào trong thanh nhảy nhanh sẽ đưa bạn trực tiếp đến dòng đó trong mã nguồn.


Chức năng này có dành riêng cho Swift / Objective-C hoặc Xcode không?
ma11hew28

Xcode, có lẽ. Mặc dù, tôi có thể dễ dàng tưởng tượng rằng các IDE khác sẽ có khả năng thể hiện hành vi tương tự.
nhgrif

Bạn cũng có thể đặt dấu gạch nối sau văn bản của mình // MARK: /Delegate impl. -, để đánh dấu phần cuối của phần hoặc tại sao không phải cả hai:// MARK: - Attention! -
Andreas

7

MARK chỉ cần thêm một hình ảnh trực quan trong thanh nhảy như thế này:

Ví dụ // MARK: Core Data Stack

nhập mô tả hình ảnh ở đây


-5

Bạn luôn có thể sử dụng

// 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() {

}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.