2012-09-06 48 views
1

Titanium中的本機代碼如何生成?我已經閱讀了互聯網上的文檔,從中我只能理解高層架構,但我需要深入工作的更多細節。例如。當我們使用Ti.UI.createButton()在Titanium中創建一個按鈕時,如何綁定本機代碼,以及如何獲得與使用本機代碼相同的按鈕。Titanium中的本機代碼生成

是否創建並返回了UIButton對象(只會在iOS中說話)還是執行流程不同?另外我應該在哪裏看本機代碼以便更好地理解?

回答

1

首先,它是如何工作的,因爲每個平臺都不同,所以不可能有效地推廣,因爲平臺是如此特殊。

對於iOS Titanium使用稱爲的本地橋接包裝對象KrollObject。這些代理對象構成了從JavaScript對象到本機代碼中的本地對象的橋樑。對於你的UIButton用例,UIButton被創建,但不會返回給Javascript,你可以通過Kroll橋來控制它。 (作爲一個方面說明,Kroll是精煉鈦材料的過程,搗爛)。

真的,你不需要知道如何編寫模塊的真正內在細節,特別是因爲它需要大量的本地平臺知識(在這種情況下,你沒有理由使用鈦)。

Here is a great video on how it all works from the last Codestrong.如果你真的想知道對象的垃圾收集和生命週期如何研究這個視頻。