带有UUIDString初始化程序的NSUUID

时间:2014-11-01 19:30:31

标签: swift xcode6 ibeacon

我正在尝试制作具有指定值的NSUUID:

let uuidString        = "000000-0000-0000-0000-000000000000"
let beaconUUID:NSUUID = NSUUID(UUIDString: uuidString)

第二行给出错误消息:

  

额外论据&UUIDS串'在电话中

documentation它似乎应该有效。有任何想法吗?

我还在as String之后添加了uuidString,同样的问题。

3 个答案:

答案 0 :(得分:16)

错误消息具有误导性。 init?(UUIDString string: String)是一个 failable初始化程序“并返回一个必须解包的可选项。所以

let beaconUUID:NSUUID = NSUUID(UUIDString: uuidString)!

或只是

let beaconUUID = NSUUID(UUIDString: uuidString)!

的工作原理。如果初始化失败,则使用可选绑定:

if let beaconUUID =  NSUUID(UUIDString: uuidString) {
    // ...
} else {
    // failed
}

有关详细信息,请参阅

答案 1 :(得分:0)

NSUUID(UUIDString: uuidString)

返回一个可选项,因此您必须将变量声明为可选项。

let uuidString        = "000000-0000-0000-0000-000000000000"
let beaconUUID:NSUUID? = NSUUID(UUIDString: uuidString)

答案 2 :(得分:0)

实际上"!"是什么?在快速?我知道它代表的不是意义,但是在这种情况下它是如何使用的呢?任何人都可以向我解释,我是Swift编程语言的新手。