swift - 参数标签 '(contentsOfFile:)' 与任何可用的重载都不匹配

标签 swift xcode swift3 plist

我正在使用新的 iOS 11 标准更新我的应用程序,很多内容已被弃用,现在我遇到了以下错误:“参数标签 '(contentsOfFile:)' 与任何可用的重载都不匹配。

这是有效的代码:

//load plist file
    var palermoip: NSArray?
    if let path = Bundle.main.path(forResource: "palermoip", ofType: "plist") {
    palermoip = NSArray(contentsOfFile: path)
    }

谁知道如何修复它?先感谢您 !

最佳答案

我建议使用PropertyListSerializationURL相关API

let url = Bundle.main.url(forResource: "palermoip", withExtension: "plist")!
let data = try! Data(contentsOf:url)
let palermoip = try! PropertyListSerialization.propertyList(from: data, format: nil) as! [[String:Any]]  // or [Any] if the array does not contain dictionaries 

在 Swift 4 中甚至是 PropertyListDecoder

关于swift - 参数标签 '(contentsOfFile:)' 与任何可用的重载都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46861164/

相关文章:

iOS分享扩展异常-项目配置

ios - 无法使用 Alamofire 4.1.0、Xcode 8 和 Swift 3 构建项目 - 没有这样的文件或目录

ios - Swift 每秒截取 20 张屏幕截图?

ios - presentViewController 不显示标签栏或导航栏

xcode - 如何在 Swift 中突出显示分段控制中最后触摸的段?

ios - stringByReplacingOccurrencesOfString 仅适用于某些对象(调试器中的 NSString 为黑色而不是蓝色)

json - 如何从 firebase 实时数据库获取位置标记并使用 swift 添加到 Xcode 中的 map View

ios - 如何将 Alamofire 路由器类迁移到 Swift 3?

iOS 11 使用 ATS 从 HTTP 加载图像

ios - swift 中的 NavigationController 导致黑屏