我使用以下代码从几个视图控制器中的plist中加载数据:
if let path = NSBundle.mainBundle().pathForResource("eBaySiteIDs", ofType: "plist") {
if let dict = NSArray(contentsOfFile: path) as? Array<AnyObject> {
// use swift dictionary as normal
countryArray = dict as? [[String : AnyObject]]
}
}
这在调试模式下正常运行,但是一旦我为发布模式构建,应用程序在尝试访问countryArray时崩溃,说它是零。
有什么想法吗?
由于
修改
如果我尝试使用
记录数组NSLog("\(NSArray(contentsOfFile: path))")
我得到了正确的值。
答案 0 :(得分:0)
您的问题是,您尚未将资源添加到构建阶段。因此它可能在调试模式下工作,但在发布模式下,文件丢失。
因此,您必须将target
下的Xcode Build Phases
中的视频添加到Copy Bundle Resources
。
答案 1 :(得分:0)
解决。
出于某种原因,我需要将声明更改为:
if let dict : AnyObject = NSArray(contentsOfFile: path) {
}