我正在尝试使用辅助VC中的按钮取消隐藏ViewControl中的某些按钮。
在我的研究中,我发现我必须使用“代表团行动”。
我创建了两个名为VC1的类 - > VC2
VC1.h包含:
#import <UIKit/UIKit.h>
@protocol CustomDelegate <NSObject>
-(void)hideUnhidebutton:(BOOL)value;
@end
@interface VC1 : NSObject <CustomDelegate>
@property (strong, nonatomic) IBOutlet UIButton *buttonToUnhide;
@end
在VC1.m中的我实现了取消隐藏按钮的功能:
#import "VC1.h"
@interface VC1 ()
@end
@implementation VC1
-(void)hideUnhidebutton:(BOOL)value
{
[self.buttonToUnhide setHidden:value];
}
在此之后,我在VC2.h中添加了添加委托变量作为属性
#import <UIKit/UIKit.h>
#import "VC1.h"
@interface VC2 : UIViewController
@property (nonatomic, strong) id<CustomDelegate> delegatePpty;
@end
最后我在VC2.m中调用了委托函数
#import "VC2.h"
@interface VC2 ()
@end
@implementation VC2
-(void)someAction
{
[self.delegatePpty hideUnhidebutton:NO];//Call the delegate method to execute
}
没有问题,但是当我尝试启动项目时,它只是在加载后崩溃显示此问题:
这里是项目文件:
http://salvonostrato.com//ex/xcode5/TEST2.zip
我不确定接下来要做什么 请帮忙。
// EDITED
IT不断崩溃:
答案 0 :(得分:1)
你的VC1应该扩展UIViewController。
@interface VC1 : UIViewController <CustomDelegate>
之后在界面构建器中再次建立连接。
答案 1 :(得分:1)
您好我检查您的代码&amp;我会改变一些事情。我会分享这个。请检查
Replace @interface VC1 : UIViewController <CustomDelegate> instead of @interface VC1 : NSObject <CustomDelegate>
在故事板中添加导航控制器,如下图所示
现在它完美运行:)