方法:
- importClass: 导入Objective-C类对象
- newObject: 创建实例对象
- deleteObject: 销毁实例对象
- invoke: 调用对象(类对象/示例对象)的方法
- implements: 实现代理的方法
- currentWebview: 获取当前Webview窗口对象的native层UIWebview实例对象
对象:
- ClassObject: Objective-C类对象
- InstanceObject: Objective-C实例对象
权限:
5+功能模块(permissions)
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"Invocation"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"Native.js"</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
importClass
导入Objective-C类对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">ClassObject</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">importClass</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">String</span><span style="color:#ffffff"> classname </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
导入类对象后,就可以通过.操作符直接调用对象(类对象/实例对象)的方法。 通过.操作符号调用方法时,不需要使用":"来分割参数。 注意:导入类对象将会消耗较多的系统资源,不应该导入过多的类对象,可以使用plus.ios.invoke()来调用未导入类实例对象的方法。
参数:
- classname: ( String | InstanceObject ) 必选 要导入的Objective-C类名
如果指定的类名不存在,则导入类失败,不会抛出异常。
返回值:
ClassObject : Objective-C类对象,如果导入类对象失败则返回null。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">iOS Native.js</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#87ceeb">// 导入GKLocalPlayer</span>
<span style="color:#f0e68c"><strong>var</strong></span> <span style="color:#98fb98">GKLocalPlayer</span> <span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">importClass</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"GKLocalPlayer"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span>
<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
newObject
创建实例对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">InstanceObject</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">newObject</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">String</span><span style="color:#ffffff"> classname</span><span style="color:#ffffff">,</span> <span style="color:#98fb98">Object</span><span style="color:#ffffff">..</span><span style="color:#ffffff">args </span><span style="color:#ffffff">);</span>
</code></span></span>
参数:
- classname: ( String ) 必选 要创建实例对象的类名
如果指定的类名不存在,则创建对象失败,不会抛出异常。
- args: ( Object ) 可选 创建实例对象的构造参数
如果指定的构造参数类型不区配,则创建对象失败,不会抛出异常。
返回值:
InstanceObject : Objective-C实例对象,如果创建对象失败则返回null。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">iOS Native.js</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#87ceeb">// 创建GKLocalPlayer类的一个实例对象</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> localplayer </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">newObject</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"GKLocalPlayer"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span>
<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
deleteObject
销毁实例对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">ios</span><span style="color:#ffffff">.</span><span style="color:#ffffff">deleteObject</span><span style="color:#ffffff">(</span> <span style="color:#98fb98">Object</span><span style="color:#ffffff"> obj </span><span style="color:#ffffff">);</span>
</code></span></span>
参数:
- obj: ( Object ) 必选 要销毁的实例对象
如果obj对象不是有效的实例对象,则不执行销毁对象操作,不会抛出异常。 如果不执行销毁实例对象操作,在页面关闭时会自动执行销毁对象的操作。
返回值:
void