我想使用輔助VC中的按鈕取消隱藏ViewControl中的某些按鈕。使用委託從VC2中取消隱藏VC1中的按鈕
在我的研究中,我發現我必須使用「授權操作」。
我已經創建了一個名爲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總是崩潰顯示:
寫協議VC2第一.. –
感謝您的意思是先寫@protocol CustomDelegate - (void)hideUnhidebutton:(BOOL)value;在VC2中爲 ? –
SNos
是的。並考慮下面的答案。使用UIViewController而不是NSObject –