Swift 中具有共享 NSUserDefaults 的 KVO

2024-04-02

我在通过通信 NSUserDefaults 更改在主机应用程序及其扩展之间进行通信时遇到问题。

我初始化了NSUserDefaults using init(suiteName:),添加 KVO 观察者使用addObserver(...)方法并覆盖该方法observeValueForKeyPath(...)但方法observeValueForKeyPath(...)当我更改与观察相对应的值时,不会调用key。如果您能帮我解决这个问题,我将不胜感激。

PS:这里的套件名称是应用程序组名称和NSUserDefaults创建使用suiteName as group identifier将位于应用程序组的私人区域内。


刚刚测试,对于 10.0 以上的 iOS 版本,UserDefatuls 的 KVO 跨进程工作得非常好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 中具有共享 NSUserDefaults 的 KVO 的相关文章

  • Swift 上的 USB 连接委托

    Swift 中是否有一个代表可以让我的班级知道何时通过计算机的 USB 插入新设备 我想知道我的程序何时可以使用新设备 Eric Aya 的答案已经相当不错了 但这里有一个 Swift 3 的改编 我把大部分丑陋的东西包裹在一个USBWat
  • 如何从TableViewCell上的自定义CollectionViewCell推送VC?

    我有一个tableView和细胞 在细胞上我有一个collectionView并在其上显示一些内容 我想发送一个有关选择的链接indexPath 我想从自定义中推送 呈现我的视图CollectionViewCell这是在TableViewC
  • Swift 中通过可选绑定进行安全(边界检查)数组查找?

    如果我在 Swift 中有一个数组 并尝试访问超出范围的索引 则会出现一个不足为奇的运行时错误 var str Apple Banana Coconut str 0 Apple str 3 EXC BAD INSTRUCTION 但是 我会
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int
  • Swift - 保存在 TableView 中选择的复选标记

    我对 Swift 相当陌生 并且在 TableView 多重选择方面遇到问题 我有多个选择 可以用复选标记进行检查 类似于待办事项列表 当我检查项目时 我希望能够返回 ListView 并保存我的选择 我假设将其保持在已保存状态的代码将位于
  • 在 Swift UI 中为文本添加动画

    怎么可能动画化Text or TextField来自 Swiftui 的意见 我所说的动画是指 当文本发生变化时 它会 计数 例如 给定一些标签 如何创建一个动画 当我将标签文本设置为 100 时 它会从 0 上升到 100 我知道这在 U
  • 如何使用文档提供者扩展?

    我正在学习更多有关 ios 扩展的知识 例如 今日扩展 照片编辑扩展 动作延伸 自定义键盘扩展 在所有这些中 我在学习上没有困难 但最近我尝试学习 文档提供程序扩展 令我惊讶的是 在互联网上没有找到任何相关教程谈论如何使用它 与其他人一样一
  • SwiftUI - SwiftUI 中有等效的 popViewController 吗?

    我正在使用 SwiftUI 希望在点击按钮时能够返回到之前的视图 与我们使用的相同popViewController里面一个UINavigationController 到目前为止有提供的方法吗 我也尝试过使用NavigationDesti
  • SwiftUI 导航:如何将详细信息视图切换到不同的项目?

    我正在努力实现以下导航行为 用户可以从列表中选择一个项目 该项目会触发该项目的详细信息视图 在此详细视图上 导航栏中有一个 添加 按钮 可打开用于添加其他项目的模式表 到目前为止 一切都按预期进行 但添加项目后 我希望详细视图显示新项目 我
  • 尝试使用 Xcode 的新 UI 测试运行多个测试失败

    当我尝试在新的 Xcode beta 中同时运行多个 UI 测试时 它在第一次测试后失败 并在第一次测试后的每个测试中出现错误 UI 测试失败 应用程序状态仍未终止 有人解决这个问题了吗 我也遇到过同样的问题 看来 至少就我而言 应用程序从
  • 当 tableview 滚动时 UISegment 值发生变化

    我正在使用 UISegmentControl 在表格视图中显示客观类型问题 但是 如果我在任一单元格中选择一个段 那么如果我滚动 某些段值就会发生更改 我不知道如何解决这个问题 请指导我 细胞尺寸 160px 段色调颜色 蓝色 Coding
  • 如何在 Swift 中退出“DispatchQueue.main.asyncAfter”

    我想在调用 deinit 时退出 DispatchQueue main asyncAfter 子视图 swift DispatchQueue main asyncAfter deadline now 5 0 self doSomething
  • Alamofire 仅在 GET 请求上出现请求错误

    我正在努力将我的项目从 AFNetworking 转移到 Alamofire 真的很喜欢这个项目 POST 请求工作得很好 但是 我在尝试发出 GET 请求时收到此错误 这是一些示例代码 class func listCloudCrednt
  • 更改 UIAlertController 的标题字体大小

    我正在尝试更改标题fontSize in an UIAlertController 但我无法管理如何设置我的NSMutableAttributedString to the title 财产 所以我一直在创造NSMutableAttribu
  • 无法在 Swift 中获取 plist URL

    我对这个真的很困惑 网络上有很多问题询问 如何从 Swift 中的 plist 文件获取信息 并且到处都发布了相同的答案 let path NSBundle mainBundle pathForResource Config ofType
  • 如何在 Swift 4 中以编程方式将 IBAction 添加到 uibutton?

    如何以编程方式将 IBAction 添加到 uibutton button addTarget self action Selector buttonAction for touchUpInside func buttonAction se
  • Xcode 6 Beta iOS 8 模拟器无法访问互联网

    刚刚安装了 XCode 6 Beta 来测试我的应用程序 iOS 8 模拟器运行并且我的应用程序成功安装 但模拟器无法访问互联网 我尝试使用 Safari 或地图 但没有网络连接 如果我从 XCode 6 运行 iOS 7 模拟器 它可以完
  • Swift:如何在 println 之后刷新标准输出?

    如何在 Swift 中刷新标准输出println命令 也就是说 Swift 相当于什么fflush stdout in C 您可以使用 fflush stdout 导入 libc 后 if os Linux import Glibc els
  • 如何过滤掉数组的数组

    您好 我有一个包含多个值的数组 我想尝试过滤掉搜索栏的索引 英语术语的一个例子是这样的 给我名称 Name2 的索引 并通过检查每个索引的第一个值中的所有字符串来执行此操作 Code Multiple Errors var received
  • 支持 iOS6 和 iOS7 的启动屏幕 - 强制闪屏

    当谈到启动屏幕时 我找不到一种统一的方法来模仿 iOS6 和 iOS7 支持两者 上的应用程序的外观 如果我们有工具栏菜单 我们是否被迫制作徽标或类似的常规启动屏幕 或者你们有什么好主意如何解决它 简短回答 在 iOS 7 中 应用程序可以

随机推荐

  • 在 C# 中绘制视频

    我正在制作一个应用程序 允许用户应用某些工具来分析视频和图像 我需要帮助 了解如何在表单中加载到 Windows Media Player 的视频上实际绘制 写入并能够将其保存 它需要能够让用户徒手绘制并在其上绘制形状 提前致谢 克里斯 使
  • 如何根据最接近(或最近)的时间戳合并两个数据帧

    假设我有一个数据框 df1 其中包含 A 和 B 列 A 是时间戳列 例如 unixtime B 是某个值的列 假设我还有一个数据框 df2 其中包含 C 和 D 列 C 也是一个 unixtime 列 D 是包含一些其他值的列 我想模糊m
  • 如何从Nuget包中选择目标框架

    我正在使用 NuGet 包 其中包含 2 个目标框架的程序集 net45 和 netstandard1 5 我的项目针对的是net471 因此与netstandard1 5兼容 当我添加包时 它从 net45 文件夹复制 dll 如何强制
  • 如何在 Rails 3 中使用 AJAX 请求实现重定向响应?

    我有一个简单的场景 我想请求一个页面 请求格式为AJAX 如果该请求的控制器 操作逻辑中有一些错误 我想重定向到错误页面 问题是重定向不是 JavaScript 响应类型 所以我不确定它是否有效 如果没有错误 那么我希望通过适当的 Java
  • 属性的名称应该与其类型相同吗?

    我有时会看到这样写的代码 public class B1 public class B2 private B1 b1 public B1 B1 get return b1 set b1 value 即类 B2 有一个名为 B1 的属性 该属
  • APEX_MAIL.SEND 函数无法工作,尽管它没有给出任何错误

    必须从以下地址发送电子邮件oracle apex using APEX MAIL SEND 方法 我正在使用代码 BEGIN apex mail send p to gt email protected cdn cgi l email pr
  • 集合运算的复杂性

    这就是我正在做的 字符串一 某个字符串 字符串二 某个字符串 我想知道字符串中的所有字符one and two它们应该按第一串中的顺序排列 我编写了一个 Java 程序 它通过使用 Collections 对两个集合执行设置操作 我想知道执
  • 组件定义 React 中 Babel 语法错误

    我只是遵循这些解释 https babeljs io blog 2015 06 07 react on es6 plus https babeljs io blog 2015 06 07 react on es6 plus 其中提到 The
  • app.set('port', port) '类型错误:未定义不是函数'。初学者,需要思路

    我是一名业余爱好者 正在学习使用 Node js 进行构建 我一直在按照教程创建我的第一个 Node js 应用程序 它工作得很好 直到我输入 npm start 日志是 C node nodeteest3 bin www 16 TypeE
  • std::invoke 为什么不处理函数重载

    我正在尝试一些 C 17 功能并遇到了 std invoke 然后我尝试了这段代码 include
  • 动态数组占用的“真实”内存大小是多少?

    Example procedure Test var AText array of AnsiChar begin SetLength AText 7 end Question 的实际尺寸是多少AText占用内存 是7 其长度的基数大小 即7
  • PHP - session_unset 是否取消注册 $_SESSION 变量?

    Does session unset http php net manual en function session unset php取消注册所有 SESSION 变量 或者是否必须手动清除注册到 SESSION 数组中的每个变量unse
  • 使用命令式绑定时的 Azure Functions 测试

    到目前为止 我已经能够为 Azure Functions 设置单元测试 并且效果很好 然而 对于我当前的项目 我需要使用动态或命令式绑定 https learn microsoft com en us azure azure functio
  • SQL Server Management Studio 中的宏

    有没有办法在SSMS中实现文本编辑宏 我会 例如喜欢将代码转换为如下所示 但只需按键 而不是冗长的正则表达式搜索和替换 This INSERT INTO TABLE fieldOne fieldTwo VALUES
  • Learning Swift:顶层不允许使用表达式

    我正在学习斯威夫特 我遇到了一个无法解决的问题 import UIKit func helloword str String print str helloword say I use helloword say 但 Xcode 告诉我错误
  • “int '对象不可下标”

    我开始学习GEKKO 现在 我正在解决一个 knapsak 问题来学习 但是这次我收到错误 int object is not subscriptable 你能看一下这段代码吗 问题的根源是什么 我应该如何定义 1 10 矩阵 from g
  • SWI-Prolog - 显示长列表

    我正在使用 SWI Prolog 我正在尝试打印一个列表 但如果该列表有超过 9 个项目 它看起来像那样 1 15 8 22 5 19 12 25 3 有没有办法显示整个列表 看一下 http www swi prolog org FAQ
  • 在 Yii 框架中配置数据库连接

    在Yii框架的main php文件中 有一些配置选项 这就是mysql的设置方式 db gt array connectionString gt mysql host localhost dbname testdrive emulatePr
  • Pylint 警告:可能存在不平衡的元组按顺序解包

    我有一段Python代码 def func1 a set b join map str list a return b def func2 d 1 e 2 return func1 d e def main a b c d func2 if
  • Swift 中具有共享 NSUserDefaults 的 KVO

    我在通过通信 NSUserDefaults 更改在主机应用程序及其扩展之间进行通信时遇到问题 我初始化了NSUserDefaults using init suiteName 添加 KVO 观察者使用addObserver 方法并覆盖该方法