在Objective-C中,您可以输入@YES
而不是[NSNumber numberWithBOOL:YES]
。这使得代码更加整洁。
在Swift中,我不得不写NSNumber.numberWithBool(true)
,这有点难看。
Swift中是否有@YES
和@NO
?
提前感谢您的帮助!
答案 0 :(得分:28)
是true
和false
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>
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
}