Objective c 从子视图调用MainViewController方法
我在MainViewController中添加了一个子视图。如何从我的子视图调用MainViewController的方法?作为MVC常规代码分解策略的一部分,视图不应该知道该控制器。(如果你不了解MVC,谷歌是你的朋友,这很重要。)如果你想将与视图的交互传递给控制器,你应该制定一个委托协议,创建一个委托接口,在控制器中实现它,并在interface builder中将控制器连接到视图的委托。这听起来可能很多,下面是一个例子: 假设我们有一个日历视图,当有人点击某个日期时,我们想告诉控制器,并询问我们是否应该将该日期设置为所选日期: 1) 制定委托协议Objective c 从子视图调用MainViewController方法,objective-c,iphone,Objective C,Iphone,我在MainViewController中添加了一个子视图。如何从我的子视图调用MainViewController的方法?作为MVC常规代码分解策略的一部分,视图不应该知道该控制器。(如果你不了解MVC,谷歌是你的朋友,这很重要。)如果你想将与视图的交互传递给控制器,你应该制定一个委托协议,创建一个委托接口,在控制器中实现它,并在interface builder中将控制器连接到视图的委托。这听起来可能很多,下面是一个例子: 假设我们有一个日历视图,当有人点击某个日期时,我们想告诉控制器,并询
@protocol CalendarViewDelegate
- (BOOL)shouldSelectDate:(NSDate *)tappedDate;
@end
2) 将(非保留!)委托属性作为IBOutlet添加到CalendarView
@interface CalendarView : UIView
...
@property IBOutlet id<CalendarViewDelegate> delegate;
@end
作为MVC通用代码分解策略的一部分,视图不应该知道控制器。(如果你不了解MVC,谷歌是你的朋友,这很重要。)如果你想将与视图的交互传递给控制器,你应该制定一个委托协议,创建一个委托接口,在控制器中实现它,并在interface builder中将控制器连接到视图的委托。这听起来可能很多,下面是一个例子: 假设我们有一个日历视图,当有人点击某个日期时,我们想告诉控制器,并询问我们是否应该将该日期设置为所选日期: 1) 制定委托协议
@protocol CalendarViewDelegate
- (BOOL)shouldSelectDate:(NSDate *)tappedDate;
@end
2) 将(非保留!)委托属性作为IBOutlet添加到CalendarView
@interface CalendarView : UIView
...
@property IBOutlet id<CalendarViewDelegate> delegate;
@end
在子视图控制器实现中 导入“urmainViewcontrollerclassname”
在子视图控制器实现中 导入“urmainViewcontrollerclassname”
urmainViewcontrollerclassname *temp=(urmainViewcontrollerclassname*)self.parentViewController;
[temp mainVCFunction];
//test with nslog in mainVCFunction.