首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >条件绑定的初始值设定项必须具有可选类型

条件绑定的初始值设定项必须具有可选类型
EN

Stack Overflow用户
提问于 2017-02-10 11:39:07
回答 1查看 4.3K关注 0票数 0

我想创建一个BLE扫描器,并在developer.apple.com上遵循开始开发iOS应用程序(Swift),

当会话“创建一个表视图”时,我在这里得到一个错误,

BLEMember.swift

代码语言:javascript
运行
复制
import UIKit

class BLEMember {
    var rssi: Int
    var uuid: String

    init (rssi:Int, uuid:String){
      self.rssi = rssi
      self.uuid = uuid
    }
}

BLEScanTableViewController.swift

代码语言:javascript
运行
复制
...
    private func loadBLEMembers() {

    var members = [BLEMember]()
    guard let member1 = BLEMember(rssi: 65, uuid: "testing ble 1") else {
        fatalError("Unable to instantiate meal1")
    }

    guard let member2 = BLEMember(rssi: 35, uuid: "testing ble 2") else {
        fatalError("Unable to instantiate meal2")
    }

    guard let member3 = BLEMember(rssi: 45, uuid: "testing ble 3") else {
        fatalError("Unable to instantiate meal2")
    }

    members += [member1, member2, member3]
}

和错误发生,

代码语言:javascript
运行
复制
 initializer for conditional binding must have optional type, not "BLEMember"

如何修复它?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-10 11:49:08

let member1 = BLEMember(rssi: 65, uuid: "testing ble 1")总是成功的。你不需要在这里使用卫士!

代码语言:javascript
运行
复制
private func loadBLEMembers() {

    var members = [BLEMember]()
    let member1 = BLEMember(rssi: 65, uuid: "testing ble 1")

    let member2 = BLEMember(rssi: 35, uuid: "testing ble 2")

    let member3 = BLEMember(rssi: 45, uuid: "testing ble 3")

    members += [member1, member2, member3]

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42151095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档