Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 下标swift 2的用法不明确_Ios_Xcode_Swift2 - Fatal编程技术网

Ios 下标swift 2的用法不明确

Ios 下标swift 2的用法不明确,ios,xcode,swift2,Ios,Xcode,Swift2,在swift 2中出现了这样一个问题:“下标”的用法模棱两可 有人知道发生了什么事吗 var plistDict: NSDictionary? if let path = NSBundle.mainBundle().pathForResource("myTip", ofType: "plist") { plistDict = NSDictionary(contentsOfFile: path) let plistArray = p

在swift 2中出现了这样一个问题:“下标”的用法模棱两可 有人知道发生了什么事吗

 var plistDict: NSDictionary?
        if let path = NSBundle.mainBundle().pathForResource("myTip", ofType: "plist") {
            plistDict = NSDictionary(contentsOfFile: path)
            let plistArray = plistDict!["tip"]
            let randV = Int(arc4random_uniform(UInt32(plistArray!.count)))
        ------->>>>    let tipMessage = plistArray![randV] //error here???

                let tipAlert = UIAlertController(title: "Something...", message: tipMessage as? String, preferredStyle: UIAlertControllerStyle.Alert)
                tipAlert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil))

当您从
plistDict
中获取
plistaray
时,它不知道它是什么类型的元素,因此它认为它是
AnyObject?
。正因为如此,它不知道如何处理你给它的下标,因为它不知道如何处理
AnyObject
类型的下标。如果你投下
plistDict![“tip”]
当将其分配给
plistaray
时,它应该能够计算出相应的类型。

当您从
plistDict
中获取
plistaray
时,它不知道它是什么类型的元素,因此它认为它是
任何对象?
。正因为如此,它不知道如何处理你给它的下标,因为它不知道如何处理
AnyObject
类型的下标。如果你投下
plistDict![“tip”]
将其分配给
plistaray
时,它应该能够计算出相应的类型。

类似的内容?让普利斯塔雷=普利斯特迪克特![“提示”]as!NSArray让randV=Int(arc4random_uniform(UInt32(plistArray!.count)))让tipMessage=plistArray[randV]是的,看起来差不多正确。虽然你应该尽量少用隐式展开选项,因为这样不太安全。像这样的吗?让普利斯塔雷=普利斯特迪克特![“提示”]as!NSArray让randV=Int(arc4random_uniform(UInt32(plistArray!.count)))让tipMessage=plistArray[randV]是的,看起来差不多正确。虽然你应该尽量少用隐式展开选项,因为这样不太安全。