!!!是的,这是一个菜鸟问题,但是是的。
所以我在 file1 中创建了一个导航控制器,其中包含一个表格视图。该表视图中的单元格是自定义单元格,具有不同的类和 xib (file2)。在 file2 xib 上,我有一个按钮,单击该按钮应将视图推送到导航控制器中。
现在我不知道如何从 file2 引用在 file1 中创建的导航控制器。
编辑:通过在 AppDelegate 中设置导航控制器并创建共享委托来解决此问题,但是如果我要在 file1 中设置导航控制器呢?
!!!是的,这是一个菜鸟问题,但是是的。
所以我在 file1 中创建了一个导航控制器,其中包含一个表格视图。该表视图中的单元格是自定义单元格,具有不同的类和 xib (file2)。在 file2 xib 上,我有一个按钮,单击该按钮应将视图推送到导航控制器中。
现在我不知道如何从 file2 引用在 file1 中创建的导航控制器。
编辑:通过在 AppDelegate 中设置导航控制器并创建共享委托来解决此问题,但是如果我要在 file1 中设置导航控制器呢?
在这种情况下,我希望有一个delegate
in file2。
.h 文件可能看起来像这样
#import <Foundation/Foundation.h>
@protocol CustomCellDelegate <NSObject>
- (void)buttonClicked;
@end
@interface CustomCell : UITableViewCell
@property (nonatomic, weak) id<CustomCellDelegate> delegate;
- (void)getImageWithCompletionHandler:(handler)completionBlock;
@end
然后在file1CustomCell
中创建对象时,您需要将其设置为.delegate
self
CustomCell *customCell = …
….
customCell.delegate = self;
实现CustomCellDelegate
in file1
- (void)buttonClicked
{
// TODO: push using navigation controller code.
}
以上是委托模式。有关更多信息,请在此处delegates
查看教程
根据MVC(模型视图控制器)模式,视图的工作只是显示数据及其控制器工作以推送或呈现其他控制器。
希望这可以帮助!