0
我試圖在Swift項目中爲SCNAction
編寫自定義timingFunction
。它應該有簽名(Float) -> Float
並返回一個介於0.0和1.0之間的值。但是無論我返回什麼值,應用程序總是會在執行操作時發生EXC_BAD_ACCESS錯誤,並顯示「錯誤:內存讀取失敗,0xd0000000」。iOS上的SceneKit:使用Swift編寫的計時函數崩潰
這是最基本的功能,我可以拿出來演示該問題:
var action = SCNAction.moveByX(0, y: 100, z: 0, duration: 1)
action.timingFunction = { time in
return time
}
someSCNNode.runAction(action)
在Objective-C相同的代碼工作就好了。
我用iOS 8.0.1,8.0.2和8.1b2測試了這個版本,有幾個設備和模擬器。我在這裏做錯了什麼或者這是一個Swift錯誤?
感謝您的確認。我在兩週前提交了一個bug,但它在iOS 8.1中尚未修復。我通過使用Objective-C類來解決這個問題,該類通過橋接頭爲我的Swift代碼提供時序函數。 – 2014-10-23 08:17:23