在ios中将一个类的方法调用到另一个类



实际上,我在单元格中创建了一个按钮,可以从另一个类访问一个方法。

#import "Cell.h"
#import "Collection.h"
@implementation Cell

-(IBAction)onClick
{
    Collection *obj_Collection = [[Collection alloc] init];
 [obj_collection goTonavigation];
}

和 goTonavogation 的方法在集合中创建。

#import "Cell.h"
    #import "Collection.h"
#import "NavigationViewController.h"
    @implementation Cell
-(void)goToNavigation
{
    NavigationViewController *obj_NavigationViewController = [[NavigationViewController alloc] initWithNibName:@"NavigationViewController" bundle:nil];
    [self.navigationController pushViewController:obj_NavigationViewController animated:YES];
}
}

但是它不起作用。 请帮忙

您的问题是实例,因为您没有使用现有实例,所以您总是在创建未正确连接在一起的新实例。

我想象你有一个显示单元格的集合视图控制器。那是类 Collection 和单元格是类 Cell .

您打算让单元格回调到显示它们的集合视图控制器。但是,您的代码将改为创建新的集合视图控制器。

Collection *obj_Collection = [[Collection alloc] init];

此新实例未连接到任何内容,未加载视图,并且不属于无导航堆栈。所以,当你打电话给self.navigationController时,你会得到"零"回来。

您应该做的是向单元格传递一个块,以便在按下按钮时执行,或者传递它可以调用的委托。委托将是最初创建和配置单元的集合视图控制器实例。该块将在配置单元时创建并传递

最新更新