【问题标题】:WatchKit NSUserDefaults and NSKeyedUnarchiver issueWatchKit NSUserDefaults 和 NSKeyedUnarchiver 问题
【发布时间】:2015-02-07 14:51:41
【问题描述】:

在我的项目中,我有一个名为 Country 的自定义对象,它实现了 NSCoding

代码通过引用在 iphone 和 watch 应用程序之间共享。两个应用都在同一个应用组中。

在我的 iPhone 应用程序中,我使用 NSUserDefaults 来报道 Country 对象,从手表应用程序中我正在使用以下代码读取相同的对象:

var defaults = NSUserDefaults(suiteName: "group.my.group")
if let data = defaults?.objectForKey("country") as? NSData {
    if let country = NSKeyedUnarchiver.unarchiveObjectWithData(data) as? Country {
        println("done")
    }
}

此代码在 iPhone 应用程序中运行良好,并且正确创建了国家/地区变量,在 Watch 应用程序中它抛出错误:

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (Country)'

【问题讨论】:

  • 我也面临同样的问题。你找到解决办法了吗?

标签: nsuserdefaults watchkit nskeyedunarchiver


【解决方案1】:

遇到了同样的问题,这对我有帮助:https://devforums.apple.com/message/1093079#1093079

【讨论】:

  • 链接不起作用(不再)。请在您的回答中至少包含最必要的步骤!
  • @Tjeerd :我面临同样的问题,链接不起作用。
猜你喜欢
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 2011-08-08
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多