[求助] js调用iOS原生OC问题

cocos creator打包的项目,js端调用iOS原生方法的时候只能调用OC的类方法(静态方法),那么在这个类方法里如何调用OC中其他的对象方法呢? 查了资料貌似调用不了,是我的思路错了吗

需求的情况是,做视频激励广告的时候,js端发起预加载视频广告的命令,但只能调用OC端的类方法,类方法获取不到本类中的属性值,如何才能把预加载好的视频保存起来,下次再调用这个类方法的时候就可以播放之前保存好的这个视频,单例试了下貌似不行,也有可能是用的不对,做过的大佬指导一下,对iOS不熟…

我也有和楼主相似的问题,我现在是想通过js调用oc实现二维码扫描的功能,但是网上所有的例子都不可以在+() 这种方式调用,希望大家告诉我一下应该怎样实现,谢谢

建一个静态方法,这个静态方法去调用那个对象方法,然后你调用这个静态方法 就行了, 就是按IOS的规则包装一下就是了

是我对oc的语法不了解的原因吧,麻烦您,请告诉我静态方法怎样调用动态方法呢?如果方便的话请写几行例子让我参考一下可以么?谢谢了

didFinishLaunchingWithOptions中 定义一个全局实例 pAppController = [[AppController alloc] init];
+(void)test1
{

[pAppController test2];

}
-(void)test2
{
//something…
}

大神,照你说的做了,报错啊,在+()方法中抱Use of undeclared identifier 'pAppController’错误

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[SDKWrapper getInstance] application:application didFinishLaunchingWithOptions:launchOptions];
    // Add the view controller’s view to the window and display.
    float scale = [[UIScreen mainScreen] scale];
    CGRect bounds = [[UIScreen mainScreen] bounds];
    window = [[UIWindow alloc] initWithFrame: bounds];

    AppController* pAppController = [[AppController alloc] init];

。。。。。。
}

+(void)saomiaoerweima{//二维码扫描
[pAppController test2];
}
-(void)test2
{
//something…
}

你确定是照你说的做的吗 我说的是定义一个全局实例 你的呢 作用域是个什么范围

大神别生气,我哥小傻白,我觉得是按您说的啊,在didFinishLaunchingWithOptions中 定义一个全局实例 ,万望指点一二

在didFinishLaunchingWithOptions外面 写 AppController* pAppController = nullptr;
在didFinishLaunchingWithOptions里面 写 pAppController = [[AppController alloc] init];

清楚明白!谢谢:)

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。