小编Mar*_*cki的帖子

观察属性崩溃仪器(泄漏配置文件)Xcode 9.3(Swift 4.1)

当我运行以下代码(一个简化示例,为演示崩溃而创建)时,它会在我选择Run时按预期执行(两个os_log消息都在Console中打印).

但是,当我在Memory Debug Navigator中打开它时 - 通过按下Restart - 它会崩溃(只有第一个os_log消息在Console中打印).

崩溃发生在观察(...).

import os
import UIKit

class ObserverCrashingExample: NSObject {

    @objc private var animation: UIViewPropertyAnimator?
    private var observer: NSKeyValueObservation?

    override init() {

        super.init()

        animation = UIViewPropertyAnimator( duration: 1, curve: .linear, animations: { })

        animation!.pauseAnimation()

        os_log("X_AMPLE Executes")

        observer = animation!.observe(\.isRunning, options: [.new, .old]) { _ , _ in }

        os_log("X_AMPLE Does not execute")

    }

    required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }

}
Run Code Online (Sandbox Code Playgroud)

我正在运行Xcode 9.3,Swift 4.1,iOS 11.3部署目标.

有任何想法吗?这是编译器问题吗?

干杯

observable ios xcode-instruments swift xcode9.3

5
推荐指数
1
解决办法
599
查看次数

标签 统计

ios ×1

observable ×1

swift ×1

xcode-instruments ×1

xcode9.3 ×1