我正在尝试将手表扩展程序中的值发送到我的iPhone应用程序。从各种来源来看,似乎最好的方法是使用UserDefaults
,但是我遇到了一些奇怪的错误,而且我无法检索我在userDefaults中设置的数据。我正在使用应用程序组,并且已经正确设置。这是我的代码
观看扩展:
@IBAction func okBtnClicked() {
print("Ok")
let userDefaults = UserDefaults(suiteName: "group.iFindUserApp")
//userDefaults?.setValue("OK", forKey: "status")
userDefaults?.set(10, forKey: "testInt")
userDefaults?.synchronize()
}
这是我在iPhone应用程序中的viewcontroller:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! FriendTableViewCell
//cell.configureCell(user: usersArr[indexPath.row])
let user = usersArr[indexPath.row]
// cell.nameLabel.text = "\(user.firstName) \(user.lastName)"
var defaults = UserDefaults(suiteName: "group.iFindUserApp")
var test = defaults?.value(forKey: "testInt")
cell.nameLabel.text = "\(test)"
return cell
}
我得到的具体错误是Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
我尝试将我的groupName更改为TeamId.groupName
,这只是使警告无效,但我仍然无法获得值(我只是零)。
非常感谢任何帮助!