加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

calayer – needsDisplayForKey / actionForKey覆盖正常工作?

发布时间:2020-12-14 05:31:16 所属栏目:百科 来源:网络整理
导读:我正在尝试将一些在Objective-C中工作的代码转换为 Swift.我遇到的问题是needsDisplayForKey / actionForKey没有以相同的方式调用.据我所知,自定义键值未正确传递.这是我调试它时得到的结果: 默认值: (String!) event = { core = { _baseAddress = Builtin
我正在尝试将一些在Objective-C中工作的代码转换为 Swift.我遇到的问题是needsDisplayForKey / actionForKey没有以相同的方式调用.据我所知,自定义键值未正确传递.这是我调试它时得到的结果:

默认值:

(String!) event = {
  core = {
    _baseAddress = Builtin.RawPointer = 0x00feee51 "onOrderIn"
    _countAndFlags = 1073741833
    _owner = Some {
      Some = (instance_type = Builtin.RawPointer = 0x01026348 @"onOrderIn")
    }
  }
}

自定义值(传入空字符串):

(String!) event = {
  core = {
    _baseAddress = Builtin.RawPointer = 0x0b418f79
    _countAndFlags = 1073741833
    _owner = Some {
      Some = (instance_type = Builtin.RawPointer = 0x0b418f70 -> 0x006e38f0 (void *)0x006e38c8: __NSCFString)
    }
  }
}

我不确定相关代码是什么.我只想问 – 有没有其他人能够在Swift中定义自定义隐式动画?从Objective C移开时有什么我需要记住的吗?

override class func needsDisplayForKey(key: String!) -> Bool{
    if key == "angleFrom" || key == "angleTo" {
        return true;
    }
    return super.needsDisplayForKey(key)
}

override func actionForKey(event: String!) -> CAAction!{
    if event == "angleFrom" || event == "angleTo" {
        return self.makeAnimationForKey(event)
    }
    return super.actionForKey(event)
}
我通过在变量声明前面使用@NSManaged属性(在Objective-C中使用@dynamic属性)在Swift中使用它

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读