Swift布尔文字(Obj-C @YES @NO等价物)

时间:2014-06-16 22:22:38

标签: swift

在Objective-C中,您可以输入@YES而不是[NSNumber numberWithBOOL:YES]。这使得代码更加整洁。

在Swift中,我不得不写NSNumber.numberWithBool(true),这有点难看。

Swift中是否有@YES@NO

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:28)

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>

请阅读:https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html#//apple_ref/doc/uid/TP40014216-CH6-XID_43

  

Swift会自动将某些本机数字类型(例如Int和Float)连接到NSNumber。此桥接允许您从其中一种类型

创建NSNumber      

以下所有类型都自动桥接到NSNumber:

     
      
  • 内部
  •   
  • UINT
  •   
  •   
  •   
  • 布尔
  •   

答案 1 :(得分:9)

  

Swift自动桥接某些本机数字类型,例如Int   和浮动,到NSNumber

“将Swift与Cocoa和Objective-C一起使用”(iBook)。

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

答案 2 :(得分:0)

我在Swift中没有Yes或No,Bool你的确是假的。

如果使用Objc-C并且调用函数返回Yes或No,则可以使用

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

if let isReady = object?.isReady {
 //is ready = true or false of your object
}