Có hai chức năng bạn có thể se.
- (NSString*)description
Điều này sẽ được hiển thị khi bạn đặt đối tượng là, I.E. thông số cho NSLog
. Chức năng mô tả khác là:
- (NSString*)debugDescription
Điều này sẽ được gọi khi bạn làm po anInstanceOfYourClass
trong cửa sổ lệnh gỡ lỗi. Nếu lớp học của bạn không có chức năng debugDescription
thì chỉ cần description
mới được gọi.
Lưu ý rằng lớp cơ sở NSObject
không có description
được triển khai, nhưng nó khá trống: nó chỉ hiển thị địa chỉ của đối tượng. Đây là lý do tại sao tôi khuyên bạn nên triển khai description
trong bất kỳ lớp nào bạn muốn nhận thông tin, đặc biệt nếu bạn sử dụng phương thức description
trong mã của mình. Nếu bạn sử dụng description
trong mã của mình, tôi khuyên bạn cũng nên triển khai debugDescription
, đồng thời cũng làm cho chi tiết hơn là chi tiết hơn.
Lưu ý nếu bạn đang sử dụng CoreData, thuộc tính 'description' [được dành riêng] (http://stackoverflow.com/questions/4717519/why-cant-i-use- description-as-an-attribute-name-cho-một-core-dữ liệu-thực thể) ... và sẽ cung cấp thông tin gỡ lỗi hữu ích! Trong trường hợp đó, bạn sẽ cần phải đưa ra tên phương thức duy nhất của riêng mình. – Nuthatch
«debugDescription' có được bảo lưu không? Mặc dù tôi nghĩ rằng 'DebugDescription' là nghĩa vụ phải được sử dụng bởi một trình gỡ lỗi như LLDB. – MaddTheSane