2015-06-25 2 views
6

У меня есть Swift объект, который я выставляя JavaScriptCore так:Почему я не могу установить элемент слова Swift, открытый JavaScriptCore?

@objc(MyObjectExport) protocol MyObjectExport:JSExport { 
    var name:String {get set} 
    var dict:[String:String] {get set} } 

class MyObject:NSObject,MyObjectExport { 
    var name:String="Name" 
    var dict:[String:String]=["test":"TEST"] } 

В контексте Javascript я могу счастливо получить и установить свойство MyObject экземпляра «имя», но может получить только, не set, словаря 'dict'.

Что мне не хватает, или это ошибка?

+0

Вы должны указать это как ошибку, мостик _should_ быть неявным. В настоящее время попробуйте использовать 'NSMutableDictionary' в качестве замены. –

+0

Спасибо за предложение, но использование 'NSMutableDictionary' вместо этого не имеет значения – macduff

ответ

0

ECMAScript 5 не поддерживает настраиваемые сценарии. Выявляя словарь для JavaScriptCore, вы будете в состоянии сделать что-то в JavaScriptCore как

MyObjectExport['key'] = value; 

Но он не будет работать в JavaScriptCore на данном этапе.