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 中工作一次 的相关文章

  • GM 发布 Xcode 6 编译

    我刚刚下载了 Xcode 6 的 GM 版本 但无法编译并出现以下错误 Command Applications Xcode app Contents Developer Toolchains XcodeDefault xctoolchai
  • Xcode 6 仪器冻结

    在 Xcode 6 Instruments 中分析我的 iOS 8 应用程序将运行该应用程序约 5 秒 然后冻结 此后探查器仍将运行 但应用程序已冻结且无法使用 发生在设备和模拟器上 无论我使用哪个分析器 计时器 泄漏等 从调试器或临时构建
  • 如何在不使用 viewWillDisappear 的情况下使 NSTimer 无效/取消初始化?

    var faderTimer NSTimer override func viewDidLoad super viewDidLoad self faderTimer NSTimer scheduledTimerWithTimeInterva
  • 只有根级导航目的地对于具有同质路径的导航堆栈有效

    我正在尝试整合NavigationStack在我的 SwiftUI 应用程序中 我有四个看法 CealUIApp OnBoardingView UserTypeView and RegisterView 我想从OnBoardingView
  • NSString keepCount 是 2147483647 [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 保留计数 https stackoverflow com questions 1390334 nsstring retain count Objective C NSString 属
  • iOS:如何在不降低 fps 的情况下播放音频?

    我正在使用 Sprite Kit 最好使用 Swift 库 为 iOS 9 开发游戏 目前 我正在使用 Singleton 在其中预加载音频文件 每个文件都连接到一个单独的 AVAudioPlayer 实例 这是一个简短的代码片段来了解这个
  • 从xcode上触摸屏的坐标获取ImageView的像素数据?

    单击视图并从视图内的图像获取正确的像素数据似乎存在问题 func handleTap gestureRecognizer UIGestureRecognizer print You tapped at gestureRecognizer l
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • Swift 运行时库与 Swift 标准库

    In this 关于如何使用 CocoaPods 的教程 https www raywenderlich com 97014 use cocoapods with swift我无法理解以下段落 与 Objective C 不同 标准 Swi
  • Swift - 元类型 .Type 和 .self 之间有什么区别?

    元类型有什么区别 Type and self在斯威夫特 Do self and Type返回一个struct 我明白那个 self可以用来检查dynamicType 你如何使用 Type 首先也是最重要的是查看 Apple 文档type o
  • 构建错误重复符号 arclite.o

    我正在尝试构建我的 Xcode 项目 但收到下面显示的错误 请帮我解决这个错误 提前谢谢您 duplicate symbol non lazy classes in Applications Xcode app Contents Devel
  • “预期的 ';'在 Swift 下的顶级声明符之后”

    我正在尝试将所有颜色设置在一个 Swift 文件中 该文件可以在我的整个应用程序中使用 下面的代码会导致 import Foundation import UIKit class DotColors let tsblueColor UICo
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • UItextView 背景颜色 Linespacing 区域太

    我正在尝试在 UITextView 中复制文本突出显示 不是搜索文本突出显示 但我也被行间距的颜色所困扰 我该如何纠正这个问题 现在的情况 期望的结果 我已将以下属性添加到我的 UiTextview 的属性文本中 对于段落行间距 我使用了以
  • UIView 圆角 - Swift 2.0?

    我会尝试将一些项目更新到 Swift 2 0 我有一个视图 左上角有一个圆角 在 Swift 没有警告 没有错误 只是没有圆角 这就是它在 Swift let maskPath UIBezierPath roundedRect conten
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • 如何表示Apple 发布的Mac OSX 崩溃报告?

    对于 iOS 崩溃报告 将崩溃报告拖放到管理器中就足够了 符号化 iPhone 应用程序崩溃报告 https stackoverflow com questions 1460892 symbolicating iphone app cras
  • 像 TraceGL 一样分析 Objective C 中的代码路径?

    TraceGL 是一个非常简洁的项目 它允许 JS 程序员跟踪 Javascript 中的代码路径 它看起来像这样 我想为 Objective C 构建类似的东西 我知道运行时使跟踪方法调用变得相当容易 但是我如何跟踪控制流 例如 在上面的

随机推荐

  • 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