self.tabBarController().setSelectedViewController(viewcontroller) 出现Bug
var tab_BarController= self.tabBarController();
var ViewControllers=tab_BarController.viewControllers();
var carViewControllers=ViewControllers[0];
self.tabBarController().setSelectedViewController(carViewControllers); 执行此方法是报错下图是错误信息,
跟踪时发现ViewControllers 没有类型 是否正常

var carViewControllers=ViewControllers[0]; 要改成 var carViewControllers=ViewControllers.objectAtIndex(0)
Hello bang590
我一开始使用的就是ViewControllers.objectAtIndex(0) 但是提示我objectAtIndex无效
以下是调试代码
var tab_BarController= self.__c("tabBarController")();
var ViewControllers=tab_BarController.__c("viewControllers")();
var carViewControllers=ViewControllers.__c("objectAtIndex")(0)
self.__c("tabBarController")().__c("setSelectedViewController")(carViewControllers);
Xcode返回错误
msg: [object Object],[object Object],[object Object],[object Object],[object Object].objectAtIndex is undefined,
我用的是 pod 'JSPatchPlatform' pod 'JSPatch/Extensions' pod 'JSPatch/JPCFunction' JSPatch版本是 1.1.2 最新版
你是替换了 tabBarController 代码?发完整代码上来吧
autoConvertOCType(1);
require('OrderListViewController,UITabBarController')
defineClass('OrderListViewController',{
buyAgain:function(sender){
var tab_BarController= self.tabBarController();
var ViewControllers=tab_BarController.viewControllers();
var carViewControllers=ViewControllers.objectAtIndex(0)
self.tabBarController().setSelectedViewController(carViewControllers);
},
})
这个是所有代码 OrderListViewController 是UITabBarController中其中一个ViewController buyAgain是OrderListViewController的UIButton 点击事件 我的业务逻辑就是OrderListViewController点击按钮能跳到UITabBarController的第一页
这是调试出现

喔你用了autoConvertOCType(1),那不能用objectAtIndex,之前用[0]是对的,断点去setSelectedViewController看看传进去什么
setSelectedViewController 传进去的是
这个不知道是什么类型, 正常的话应该是ViewController类型
var ViewControllers=tab_BarController.viewControllers(); var carViewControllers=ViewControllers.objectAtIndex(0) self.tabBarController().setSelectedViewController(carViewControllers);
在OC断点看,在JS看到的所有OC对象都是这样的。