簡體   English   中英

將數組/對象從Javascript傳遞到Objective-C

[英]Pass array/object from Javascript to Objective-C

我的問題應該很容易回答,但是我似乎無法在Apple文檔中找到任何內容

從我的JS代碼中,我正在調用帶有數組參數的Objective-C函數。 例如:

ObjC.someFunction_([1,2,3]);

現在在Objective-C中,我們有:

- (void)someFunction:(WebScriptObject*)arr
{

}

正如蘋果建議的那樣。 (如果它是一個簡單的字符串,那將是完全不同的-而且更簡單-故事)。

問題是:如何將這個WebScriptObject轉換為NSArray

只是想到了一種可行的解決方法(盡管仍然是一種解決方法 ):

在JS中:

ObjC.someFunction_(JSON.stringify([1,2,3]));

在Objective-C中:

- (void)someFunction:(NSString*)arrStr
{
    NSArray* arr = [NSJSONSerialization JSONObjectWithData:[arrStr dataUsingEncoding:NSUTF8StringEncoding] 
                                                   options:kNilOptions 
                                                     error:nil];
}

在示意圖中:

  • Javascript-> Json對象-> Objective-C-> Json對象

PS:我敢肯定,必須有更優雅的方法(也許通過很少記錄的JavaScriptCore嗎?),但是這種方法仍然有效! ;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM