2011-03-05 58 views
1

在我的應用程序中,我使用JavaScriptCore API在WebView上下文中使用C回調在我的Cocoa類中安裝JS函數。現在我無法通過回調指針來知道回調屬於哪個類。不帶類指針的C回調

有沒有辦法解決這個問題,而不通過指針?全局變量似乎無法工作,因爲它們被其他類實例覆蓋。

+0

可能想嘗試一下我提到的Web腳本協議,這樣做很容易...... ;-) – 2011-03-05 14:41:31

回答

1

如果全局不起作用(由於多次/併發調用,很可能),那麼您需要某種上下文信息。

如果API返回任何類型的唯一標識符 - 會話#,分配的結構體,任何東西 - 您都可以設置一個NSMapTable,它映射該標識符和您可能需要的任何Objective-C goop。

+0

基於對文檔的快速瀏覽,JSContextRef可能會用到。 – Tommy 2011-03-05 02:21:46

+0

我剛剛設置了一個'NSMutableDictionary',並且簡單地使用'NSValue'中包含的'JSObjectRef'指針作爲關鍵字。 – 2011-03-05 20:44:12