KVO 在 Swift 中工作一次

2024-01-10

我试图在 Swift 中使用 KVO,但方法“observeValueForKeyPath”被调用一次。

这是我的代码的 GIST https://gist.github.com/nicolas-besnard/53eeb9aeded700c28029

我尝试使用NSNumber代替Int,将所有选项添加到addObserver,但当我的视图加载时,该方法仍然调用一次。

任何想法 ?

编辑:似乎我找到了一个临时解决方案,使用:

var lifes: Int {
    willSet {
        willChangeValueForKey("lifes")
    }
}

KVO需要动态调度,所以dynamic需要将修饰符添加到属性中:

dynamic var lifes = 0

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

KVO 在 Swift 中工作一次 的相关文章

  • 在不使用PrepareForSegue的情况下在segue之间传递数据

    我正在使用情节提要创建一个用户设置帐户 分 5 个步骤 每个步骤都有一个 ViewController 1 输入姓名 联系人等 2 导入照片 3 输入等 4 更多输入 5 确认页面 如果用户单击 确认 gt 获取所有输入并上传到解析 当我在
  • 多对多关系中的 KVO 对象属性

    我有一个核心数据对多关系 由父 gt 子组成 我想设置一个键值观察机制 以便当任何子对象上的属性 例如 firstName lastName 发生更改时 它会触发通知 使用标准 KVO 语法时 self parentObject addOb
  • 是否可以使 MGLPolyLines 可选择? - 斯威夫特,MapBox

    是否可以使 MGLPolyLine 可触摸 可选择 具有用户交互 在我的项目中 用户需要触摸折线 有这个问题 https stackoverflow com questions 43683846 how to make a mglpolyl
  • SQlite 查询 - 如何检索多列数据?

    我很难在网上找到一个关于使用 xcode 和 cocos2dx 从 SQlite DB 获取多个值的工作示例 这是我的sql查询 char sql query 100 sprintf sql query SELECT FROM SQList
  • 尝试在 Xcode 中为 OS X 应用程序设置 Tab 键顺序

    我正在使用 Xcode 7 3 构建 OS X 桌面应用程序 并尝试为其中一个表单设置 Tab 键顺序 我发现有几篇文章解释了 Xcode 4 的类似问题 但没有任何进展 https www youtube com watch v SRrE
  • 使 Swift 类符合需要 init 的协议

    我有以下内容protocol in Swift protocol FooConvertible typealias FooType init foo FooType 我会做Swift类在类定义中符合它 class Bar FooConver
  • 使用 Swift 更改整个应用程序中的 UILabel 文本颜色

    在 Swift 中有什么方法可以在整个应用程序中立即更改 UILabel 的文本颜色属性吗 我尝试过使用外观属性 但这不适用于 UILabel textColor 任何方式或任何同样工作的库 一种方法是使用颜色设置 首先在您的 xcasse
  • 快速将数据从 tableviewcontroller 传递到另一个 tableviewcontroller

    我有一个正在创建的表单 该表单填充有用户输入的文本字段 回答完所有问题后 会弹出一个保存按钮 我在使此表视图控制器将数据传递到新的表视图控制器时遇到问题 我被困住了 不知道该怎么做 import UIKit class TableViewC
  • 如何在 SKAction 中途反转精灵所遵循的路径方向?

    我有一个 SKSpriteNode 它使用 SKAction 沿着圆形路径移动 create the path our sprite will travel along let circlePath CGPathCreateWithElli
  • 错误:模块是为不兼容的目标arm64-apple-ios8.0创建的

    有一个名为 Appetize 的网站 需要 app 捆绑包 应用程序的 iOS 模拟器版本 才能在在线模拟器中显示您的应用程序 以下是所需应用程序包的指南 https support appetize io help how to uplo
  • Swift 枚举内部是如何实现的?

    我最近问了一个问题C 中的通用枚举 结构 https stackoverflow com questions 68383728 if a uintptr t can be used to store both pointers and nu
  • Apple 推送通知徽章编号

    我开发了服务器端应用程序 以在收到新通知后将徽章编号维护为递增或递减 并在看到通知后删除它工作正常 但是显示徽章时存在一些问题 实际情况是 在设备上收到新通知后 我单击取消按钮 然后徽章编号正确显示 但之后我将打开应用程序并关闭应用程序徽章
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 将多个数组合并为一个数组

    如何将多个数组合并为一个二维数组 鉴于我有以下输入 var arr1 1 2 3 var arr2 a b c var arr3 aa bb cc 我需要这样的输出 1 a aa 2 b bb 1 c cc 我认为你想要的是将三个数组组合成
  • 连接到 Apple Music

    所以我尝试使用 React Native 应用程序从 iOS 设备连接到 Apple Music 有一个 API 可以执行相同的操作 但我需要从 storekit 框架调用一个函数 提出个性化请求 苹果音乐API https develop
  • 获取 Swift 子目录中资源的所有 URL

    我正在尝试为 iOS 应用程序的子目录中的所有资源创建 URL 数组 我似乎无法到达正确的路径 即使我不知道名称 我也希望能够检索 URL 即我不想将文件名硬编码到代码中 Below is a screen shot of the hier
  • AVAudioMixerNode pan 或 AVAudioUnitSamplerstereoPan 属性无法更改 AVAudioEngine 声音输出的左/右平衡

    我有以下代码 它播放单个 MIDI 音符 但我希望能够调整平衡 平移 以便它仅从左扬声器或右扬声器或某些组合中播放 我认为更改 sampler stereoPan 或 engine mainMixerNode pan 也许可以解决问题 但它
  • 在应用程序内启用或禁用 Iphone 推送通知

    我有一个 iPhone 应用程序 可以接收推送通知 目前 我可以通过转到 iPhone 设置 通知来禁用我的应用程序的推送通知 但我想在我的应用程序中添加一个开关或按钮来启用或禁用推送通知 这是可以做到的 因为我在 foursquare i
  • 您可以严格泛型类型或为一个参数指定多个类型吗?

    例如我想指定一个类型可能是Integer or String并将其用作特殊类型func我试过typealias但它不会解决这个问题 因为类型别名不能有or参数作为其唯一用途 因此请考虑下面的情况 typealias alis StringP
  • Swift 3 和 Xcode8 - init 的使用不明确

    在我安装 Xcode 8 并将项目转换为 Swift 3 之前 以下行没问题 现在转换后看起来像这样 let valueData Data Data bytes UnsafePointer

随机推荐

  • iPhone:可以只改变UINavigationBar提示的颜色吗?

    我想知道是否可以仅更改 UINavigationBar 提示的背景颜色 例如 更改为红色 而导航栏的其余部分保持黑色 以便我可以使用 UINavigationItem 的提示属性来显示状态 错误消息作为单行 这是一个老问题 但自从引入app
  • 如何在远程机器中生成 docker 容器

    是否有可能 使用适用于 Python 的 Docker SDK https docker py readthedocs io en stable index html 在远程计算机中启动容器 import docker client doc
  • GitHub 工作流程中针对特定目录的 git Shortlog

    我想打印 GitHub 工作流程中特定目录 我的存储库的一部分 的简短日志 我使用git命令git shortlog e n s myFolder 我用checkout v3检查我的存储库 拉取请求的操作如下 uses actions ch
  • 除非设置了调试标志,否则隐藏回溯

    除非设置了详细或调试标志 否则隐藏回溯错误的惯用Python方法是什么 示例代码 their md5 c38f03d2b7160f891fc36ec776ca4685 my md5 c64e53bbb108a1c65e31eb4d1bb8e
  • 从n个列表中生成灯具

    假设我有 N 支球队 如何生成一个赛程列表 其中每支球队都与其他球队比赛 对此的最佳实践是什么 有没有一种已知的算法可以很好地做到这一点 效率并不是真正的必需品 因为它只需要每个赛季产生一次 更具体地说 我将从一些定义开始 我有 N 个团队
  • PHP 中的绝对(或相对?)路径

    抱歉问这个问题 因为之前可能已经回答过很多次了 但我的问题有点不同 我有像树一样 var www path to my app index php b php inc include php 我正在从index php访问inc inclu
  • 如何获取 Django 模型中字段的默认值?

    我有一个 Django 模型 其中一些字段指定了默认值 我希望稍后在我的代码中为我们获取这些字段之一的默认值 有没有一种简单的方法可以从模型中获取特定字段的默认值 TheModel meta get field the field get
  • 单独的红绿蓝rgba值颜色值

    I hv rgba这种格式的值RGBA 205 31 31 1 我想分离每个红色 绿色 蓝色和 alpha 值以进行进一步处理 如何使用 jQuery 实现它 所以输出看起来像 red 205 green 31 blue 31 alpha
  • Linq 查询 - 根据首字母黑白两个范围查找字符串

    我们有一个包含国家名称的列表 我们需要从黑白两个字母的列表中查找国家 地区名称 就像所有国家 地区名称以黑白 A G 开头的名称等 我们创建以下 linq 查询 但它很难看 var countryAG from elements in co
  • Airplay:从 MPMoviePlayerController 播放电影会导致仅音频流式传输到 Apple 电视

    设置 Airplay 非常简单 self moviePlayer MPMoviePlayerViewController alloc initWithContentURL url autorelease self moviePlayer s
  • Spring Boot:注入自定义上下文路径

    我正在运行带有嵌入式 Tomcat 的 Spring Boot 1 2 3 应用程序 我想根据 URL 的第一部分在每个请求上注入自定义 contextPath 例子 http localhost 8080 foo默认情况下有context
  • 图像在 Android Studio 中显示,但在手机上不显示

    如下所示 Android Studio 显示的内容如下 然而 当我在手机上运行这个应用程序时 列表视图在其上方仅显示一个空白图像 即一个空格 其中 彩虹之上的某个地方 应该是 列表视图工作正常 它由 1 个图像视图和 2 个文本视图组成 如
  • PHP 中的 ssh2:// 可以进行哪些文件操作

    我正在重写一个在本地服务器上处理和排序文件的函数 该函数可以在通过 ssh 连接到达的远程服务器上执行此操作 现有系统使用 pecl ssh2 库来获取特定文件 例如 if stream fopen ssh2 sftp sftp filen
  • SVN客户端在哪里存储用户认证数据?

    我正在尝试模拟特定域 ID 的问题 该域 ID 在访问颠覆存储库时出现问题 为此 我尝试了一个svn checkout与 选项 username domain problematic ID在另一台 Windows 机器上 但我无法重现该问题
  • 修复了 Firefox 中表格单元格的高度和边框问题

    我有一个显示一些数据的表格 我需要表格单元格 td 具有固定的高度和底部边框 问题在于 Firefox 渲染单元格高度的方式与 Chrome 或 IE8 不同 例如我有以下 css 规则 table width 100 border col
  • 将 get 参数添加到 laravel 的重定向方法

    我用的是 Laravel 5 6 I have GET我想传递给重定向函数的参数 Route get about function I want to add param to this redirect function return r
  • 命名管道的使用。多个客户端,一台服务器,多个并行请求

    我正在尝试在 NET 中实现命名管道服务器 客户端将是 C 发送的数据的性质与问题无关 我的第一个简单的实现看起来像这样 using NamedPipeServerStream stream new NamedPipeServerStrea
  • 在 IntelliJ 中创建 Node.js Express 项目

    I have nodejs plugin installed in intelliJ but I could not find a way to create a Node js Express project as what can be
  • 在 Objective-C 中将 float 转换为 int

    我怎样才能转换float to int同时向上舍入到下一个整数 例如 1 00001 将变为 2 1 9999 将变为 2 float myFloat 3 333 for nearest integer rounded up 3 333 g
  • KVO 在 Swift 中工作一次

    我试图在 Swift 中使用 KVO 但方法 observeValueForKeyPath 被调用一次 这是我的代码的 GIST https gist github com nicolas besnard 53eeb9aeded700c28