當我嘗試轉換WKNSURLRequest(以及其他類,全部來自WebKit框架)時,我遇到了嚴重的崩潰。崩潰投射WKNSURLRequest爲?其他類型
例如在操場:
import UIKit
import WebKit
final class Sigh: NSObject { }
NSClassFromString("NSObject") as? Sigh.Type
NSClassFromString("WKNSURLRequest") as? Sigh.Type
從NSObject的演員工作(即返回nil
),但是從WKNSURLRequest投與EXC_BAD_ACCESS崩潰 - 我會認爲它會返回nil
爲好。
任何人有任何想法可能會導致此?
NSClassFromString的返回值是一個AnyClass。我們正在檢查NSClassFromString的返回值,而不是類本身。你可以用NSProxy做同樣的實驗,它不會崩潰。運行時沒有中斷,我很快就會證明我很快就會打開另一個問題。我會在這裏發佈鏈接,因爲我希望你對此發表看法。 –
@GiuseppeLanza我希望你的意思是說「NSClassFromString的返回是一個AnyClass?」 ;-)並且'NSProxy'不會崩潰也可能意味着該橋明確支持它('NSProxy'是一個非常重要的標準類,不包含Swift無法與Obj-C一起使用)。我知道很多在'id'類型的對象上調用'isKindOfClass:'或'respondsToSelector:'的Obj-C代碼,請注意,他的將會崩潰的根類不執行這些方法(他們不必) - 如果你想真正保存,你可以用一個未知的Obj-C課程做很少的事情。 – Mecki
當你有空時,你會給我你的意見嗎? http://stackoverflow.com/q/43280615/1754559 –