2017-02-10 1 views
0

を持っている必要があり、私が得ましたここでエラー、初期化子が</p> <p>は時にセッション「テーブルビューの作成」、私はBLEスキャナを作成し、iOSのアプリ(スウィフト)developer.apple.comでの開発を開始フォローしたいオプションの種類

BLEMember.swift

import UIKit 

class BLEMember { 
    var rssi: Int 
    var uuid: String 

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

BLEScanTableViewController.swift

... 
    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] 
} 

とエラーが発生すると、

initializer for conditional binding must have optional type, not "BLEMember" 

どのように修正するのですか?ありがとう!

答えて

3

let member1 = BLEMember(rssi: 65, uuid: "testing ble 1")常に成功します。あなたはここでガードガードする必要はありません!

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] 

} 
+0

「guard」は「if」と似ていますか?ありがとうございました! – JimmyHo

+2

readmore about [ガード](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ControlFlow.html#//apple_ref/doc/uid/TP40014097-CH9-ID120)ここをクリック! – javimuu

関連する問題