【发布时间】:2016-08-04 22:17:31
【问题描述】:
虽然可以在 obj-c 中替换 setMyProperty: 方法,但我想知道如何在 swift 中进行替换?
比如我想替换UIScrollView::setContentOffset::
let originalSelector: Selector = #selector(UIScrollView.setContentOffset)
let replaceSelector: Selector = #selector(UIScrollView.setContentOffsetHacked)
...
...但在执行后originalSelector 包含setContentOffset:animaed。那么,如何将属性的setter方法传递给selector呢?
【问题讨论】:
-
这篇文章可以帮到你nshipster.com/swift-objc-runtime
-
如果你想追到兔子洞:stackoverflow.com/questions/25651081/…
-
@VictorSigler 那篇文章没有用属性设置器介绍这种特殊情况。
-
@BaseZen,您提到的问题和答案也是如此。我正在寻找如何处理属性设置器,特别是我想知道为什么从
#selector(UIScrollView.setContentOffset)中选择了错误的方法。 -
答案已重做,所以我很好奇现在是否符合您的需求。
标签: ios swift selector objective-c-runtime method-swizzling