2014-06-16 24 views
16

Trong Mục tiêu-C, bạn có thể nhập @YES thay vì [NSNumber numberWithBOOL:YES]. Điều này làm cho nhiều mã tidier.Chữ Boolean Swift (tương đương Obj-C @YES @NO)

Trong Swift, tôi phải viết NSNumber.numberWithBool(true), đó là loại xấu xí.

Có tương đương với @YES@NO trong Swift không?

Cảm ơn trước sự giúp đỡ của bạn!

+2

... tại sao bạn đang sử dụng NSNumbers ở tất cả? – nneonneo

+1

@nneoneo, cho Core Data ... ví dụ: [NSMigratePersistentStoresAutomaticallyOption: đúng, NSInferMappingModelAutomaticallyOption: true] mà đã từng là NSDictionary * options = [ NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption: @YES] – Timbo

Trả lời

26

nó là truefalse

xcrun swift 
Welcome to Swift! Type :help for assistance. 
    1> import Foundation 
    2> var t : NSNumber = true 
t: __NSCFBoolean = {} 
    3> var f : NSObject = false 
f: __NSCFBoolean = {} 
    4> 

đọc: https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html#//apple_ref/doc/uid/TP40014216-CH6-XID_43

Swift tự động cầu nhất định các loại số tự nhiên, chẳng hạn như Int và Float, để NSNumber. cầu nối này cho phép bạn tạo ra một NSNumber từ một trong những loại

Tất cả các loại sau đây sẽ được tự động bắc cầu để NSNumber:

  • Int
  • UINT
  • phao
  • đúp
  • Bool
+0

Quá dễ dàng, cảm ơn! – Timbo

+0

Tôi nhận được "Không thể gọi 'setValue' với một danh sách đối số của loại '(giá trị: BooleanLiteralConvertible, forKey: NSString!)' (Đây là Beta7) –

7

Swift tự động cầu nhất định các loại số tự nhiên, chẳng hạn như Int và Float, để NSNumber

"Sử dụng Swift với ca cao và Objective-C" (iBook).

let foo : NSNumber = true 
let bar = NSNumber(value: false) 
0

Tôi không có Có hoặc không có trong Swift, Bool đúng sai bạn có.

Nếu bạn sử dụng objc-C và gọi hàm trả lại Có hoặc Không bạn có thể đúc này

example 
// isReady return Yes Or no of Objc-C 

if let isReady = object?.isReady { 
//is ready = true or false of your object 
} 
Các vấn đề liên quan