2017-01-26 7 views
-2

を推測することができませんでしコンパイルするとき、私はエラーを得た:スウィフト:ジェネリックパラメータは

var beaconIDs = [BeaconID]() 
for i in 0..<BeaconsStruct.uuidT.count { 
beaconIDs.append(BeaconID(UUIDString: BeaconsStruct.uuidT[i], major: 
Int(BeaconsStruct.majorT[i])!, minor: Int(BeaconsStruct.minorT[i])!)) 
} 

エラーがある:ジェネリックparametrer「Elementは」推論することができませんでした。

BeaconIDが含まれています

struct BeaconID: Equatable, CustomStringConvertible, Hashable { 
    let proximityUUID: UUID 
    let major: CLBeaconMajorValue 
    let minor: CLBeaconMinorValue 

    init(proximityUUID: UUID, major: CLBeaconMajorValue, minor: CLBeaconMinorValue) { 
     self.proximityUUID = proximityUUID 
     self.major = major 
     self.minor = minor 
    } 

    init(UUIDString: String, major: CLBeaconMajorValue, minor: CLBeaconMinorValue) { 
     self.init(proximityUUID: UUID(uuidString: UUIDString)!, major: major, minor: minor) 
    } 
} 

BeaconsStructは含まれています

struct BeaconsStruct { 
static var uuidT: [String] = [] 
static var minorT: [String] = [] 
static var majorT: [String] = [] 
static var lokalizacjaT: [String] = [] 
} 

私はそれで助けをお願いしていただけますか?

+0

「BeaconID」を作成するための呼び出しでエラーが発生している可能性がある場合は、それを含むBeaconID構造コードにエラーを追加してください。 –

+0

BeaconID初期化子は意味がありません。それを表示してください。 – matt

+0

@matt BeaconIDは、一般的なEstimoteクラスです。https://github.com/Estimote/iOS-SDK/blob/master/Examples/swift/Notification/Notification/Estimote/BeaconID.swift –

答えて

0

majorminorのキャストは間違っています。初期設定子はIntにする代わりに、CLBeaconMajorValueCLBeaconMinorValueをキャストします。

var beaconIDs = [BeaconID]() 
for i in 0..<BeaconsStruct.uuidT.count { 
    beaconIDs.append(BeaconID(UUIDString: BeaconsStruct.uuidT[i], 
     major: CLBeaconMajorValue(BeaconsStruct.majorT[i])!, 
     minor: CLBeaconMinorValue(BeaconsStruct.minorT[i])!)) 
} 
関連する問題