我正在尝试使用我从
获得的代码 https://github.com/Intermark/Buoy/tree/master/Buoy/Swift
我在BUOYListener.swift和enter code here
BUOYBeacon.swift中收到以下错误
有任何想法如何解决这个问题?
答案 0 :(得分:1)
从Swift 2.0开始,Swift编译器要求方法签名严格匹配您正在实现的协议。在这种情况下,这是CLLocationManagerDelegate和CBPeripheralManagerDelegate。
didRangeBeacons 的正确Swift签名是:
Sub LoopNCheck()
Dim lngCount As Long
Dim lngLastRow As Long
lngLastRow = 99
For lngCount = 1 To lngLastRow
With Range("a" & lngCount)
.Value = lngCount
.Offset(0, 1) = Getrandom(lngCount, lngLastRow)
.Offset(0, 2) = Getrandom(lngCount, lngLastRow, .Offset(0, 1))
End With
Next
End Sub
Function Getrandom(lngRestriction As Long, lngMax As Long, Optional lngSecRestriction As Long = 0)
Calculate:
Getrandom = WorksheetFunction.RandBetween(1, lngMax)
If Getrandom = lngRestriction Or Getrandom = lngSecRestriction Then GoTo Calculate
End Function
对于 peripheralManagerDidUpdateState :
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion)
最后, startAdvertising 需要func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager)
字典,但您将 peripheralData 投射到[String: AnyObject]
。请改用以下演员:
[NSObject: AnyObject]