簡體   English   中英

從JavaScript訪問任意Objective-C對象的方法和屬性

[英]Access methods and properties of arbitrary Objective-C object from JavaScript

我想訪問作為公開對象的屬性返回到JavaScript主機的Objective-C對象的屬性和調用方法( [windowScriptObject setValue:self forKey:@"a"] ):

- (id) valueForUndefinedKey:(NSString*) key {
  if ( [key isEqualToString:@"b"] ) {
    MyObject* obj = [ [ MyObject alloc ] init ];
    return obj;
  }
  return Nil;
}

在Javascript中,我希望能夠執行以下操作:

// a is already exposed Objective-C object
var b = a.b; // reference to myObject
var c = a.b.c; // myObject.c
var d = a.b.d(); // [ myObject d ]

MyObject需要實現+isSelectorExcludedFromWebScript:和/或+isKeyExcludedFromWebScript: 默認情況下,不允許Javascript訪問Objective-C方法。 您必須明確允許它。

除此以外,您還有其他症狀嗎?

有關更多信息,請參見從JavaScript使用Objective-C

暫無
暫無

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

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