对成员“下标”的模棱两可的引用

劳里斯

我的代码中出现此错误:

func getBatteryInfos(){
    let snapshot = IOPSCopyPowerSourcesInfo().takeRetainedValue()

    // Pull out a list of power sources
    let sources = IOPSCopyPowerSourcesList(snapshot).takeRetainedValue() as Array

    // For each power source...
    for ps in sources {
        // Fetch the information for a given power source out of our snapshot
        let info = IOPSGetPowerSourceDescription(snapshot, ps).takeUnretainedValue() as Dictionary

        // Pull out the capacity
        if let

            capacity = info[kIOPSCurrentCapacityKey] as? Double, //Ambiguous reference to member 'subscript'
             let charging = info[kIOPSIsChargingKey] as? Int{ //Ambiguous reference to member 'subscript'

                batteryPercentage = capacity
                batteryState = charging

                print("Current battery percentage \(batteryPercentage)")
                print("Current state \(batteryState)")



        }
    }

我尝试用替换info[kIOPSCurrentCapacityKey]info["kIOPSCurrentCapacityKey"]但发生相同的错误。我在StackOverflow上看到有关此错误的几个问题,但所有答案均不适用于我的代码。

我正在使用Xcode 8 Beta 6和Swift3。在Swift 2中,此代码运行完美。

任何帮助表示赞赏:-)

马特

您不能转换为无类型的Swift字典或数组。改变

as Dictionary
as Array

as NSDictionary
as NSArray

或者,如果你知道实际的类型(即这是什么一个数组?这是什么字典的?),垂下来的实际类型。

另一种方法是使用新的未类型化类型[Any][AnyHashable:Any]但是,根据我的经验,这可能会有些棘手。基本上,Apple吹灭了Objective-C和Swift之间的自动桥接功能,并用“宽容拳击”代替了它,这会导致某些类型的不匹配,您必须自己补偿。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对成员“下标”的模棱两可的引用

来自分类Dev

对成员 OCKCarePlanActivity '评估的模棱两可的引用

来自分类Dev

gdiplus成员是模棱两可的

来自分类Dev

引用valueOf模棱两可

来自分类Dev

下标的使用模棱两可

来自分类Dev

下标使用模棱两可。阵列Swift IOS

来自分类Dev

对成员函数set_value的错误调用是模棱两可的(在使用pugixml库的xcode中)

来自分类Dev

连接的引用是模棱两可的QQuickItem QMainWindow

来自分类Dev

引用println是模棱两可的错误

来自分类Dev

模棱两可的外部联接?

来自分类Dev

模棱两可的varargs方法

来自分类Dev

解决模棱两可的模板

来自分类Dev

For循环增强,但模棱两可

来自分类Dev

Java ==行为模棱两可

来自分类Dev

附加使用模棱两可?

来自分类Dev

SimpleDateFormat模棱两可的匹配

来自分类Dev

模棱两可的进入系统

来自分类Dev

Extensiong模棱两可的错误

来自分类Dev

Extensiong模棱两可的错误

来自分类Dev

模棱两可的虚拟继承

来自分类Dev

SimpleDateFormat模棱两可的匹配

来自分类Dev

突然出现了对“下标”的模棱两可的使用,但是代码之前却可以正常工作

来自分类Dev

升级Xcode后显示“模棱两可地使用'下标'”错误

来自分类Dev

下标使用模棱两可的编译器错误

来自分类Dev

将模棱两可的CFG转换为模棱两可的CFG

来自分类Dev

困惑于将模棱两可的语法转换为模棱两可的语法

来自分类Dev

下标的模棱两可使用-NSMutableDictionary

来自分类Dev

设备上“下标”的模棱两可使用

来自分类Dev

无效的方法引用/模棱两可的引用(javac / ecj行为差异)