微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们怎么知道Objective-C 中的JSContext 可以做下标?

如何解决我们怎么知道Objective-C 中的JSContext 可以做下标?

有很多这样的示例代码

jscontext *context = [[jscontext alloc] init];
        context[@"globalFunc"] =  ^() {
        NSArray *args = [jscontext currentArguments];
        for (id obj in args) {
            NSLog(@"got:%@",obj);
        }
    };

令我困惑的是 context[@"globalFunc"] = *** 语句。看起来 jscontext 支持下标(运算符 [ ])?

但我没有找到任何官方文件说?那么我们怎么知道我们可以在 jscontext 中进行下标以从中设置/获取对象?

解决方法

好的,我错过了 JSContext 声明之后的扩展代码-_-

@interface JSContext (SubscriptSupport)

/*!
@method
@abstract Get a particular property on the global object.
@result The JSValue for the global object's property.
*/
- (JSValue *)objectForKeyedSubscript:(id)key;

/*!
@method
@abstract Set a particular property on the global object.
*/
- (void)setObject:(id)object forKeyedSubscript:(NSObject <NSCopying> *)key;

@end

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。