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

Tim*_*mbo 19 swift

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

在斯威夫特,我不得不写NSNumber.numberWithBool(true),这有点难看.

是否有一个相当于@YES@NO斯威夫特?

在此先感谢您的帮助!

Bry*_*hen 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>
Run Code Online (Sandbox Code Playgroud)

阅读: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
  • 浮动
  • 布尔


Dan*_*iel 9

Swift自动将某些本机数字类型(例如Int和Float)连接到NSNumber

"将Swift与Cocoa和Objective-C一起使用"(iBook).

let foo : NSNumber = true
let bar = NSNumber(value: false)
Run Code Online (Sandbox Code Playgroud)