Tôi đã nhận được vào một thói quen khá tốt của tuyên bố và sử dụng chuỗi liên tục cho những thứ như tên NSNotification
. Tôi tuyên bố họ như vậy:Nullability Mục tiêu-C: Đủ điều kiện liên tục Strings
extern NSString * const ABCAwesomeThingHappenedNotification;
Với sự ra đời của Xcode 6.3 và Swift 1.2, tôi sẽ trở lại và các lớp học kiểm toán Objective-C interop với Swift sử dụng mới nonnull
, nullable
, và null_unspecified
vòng loại.
Khi thêm vòng loại đến một tiêu đề đó cũng có chuỗi tĩnh bên ngoài có thể nhìn thấy, tôi nhận được cảnh báo sau đây:
cảnh báo: con trỏ là mất tích một loại nullability specifier (__nonnull hoặc __nullable)
Hmm. Đó là khó hiểu/thú vị. Ai đó có thể giải thích lý do đằng sau thông điệp này? Khi sử dụng ABCAwesomeThingHappenedNotification
trong Swift, nó không bao giờ gợi ý rằng đó là Chuỗi tùy chọn hoặc Chuỗi không được khai thác ngầm hoàn toàn.
Câu hỏi khác nhau, nhưng cũng có thể thú vị trong ngữ cảnh này: [Swift 1.2 biến tùy chọn bên ngoài?] (Http://stackoverflow.com/questions/29612639/swift-1-2-optional-external-variable). –
Liên quan: [Cách tạo các phương thức lớp phù hợp với giao thức được chia sẻ giữa Swift và Objective-C?] (Http://stackoverflow.com/questions/29399871/how-to-create-class-methods-that-conform- to-a-protocol-shared-between-swift-và) (nhưng đây không phải là bản sao) – nhgrif