我已經創建了一個使用委託的簡單示例。問題是當我啓動應用程序時,MyClass類被調用並且委託被髮送。但我無法在ViewController中接收它。下面是我的代碼,我想知道我做錯了什麼,如果我錯誤地理解了代表。NSObject類代理不叫
道歉爲我的語法錯誤。謝謝你的幫助提前
MyClass.h
@protocol MyClassDelegate <NSObject>
@required
- (void) myClassDelegateMethod;
@end
@interface MyClass : NSObject
{
id<MyClassDelegate> delegate_;
}
@property(nonatomic, strong) id<MyClassDelegate> delegate_;
MyClass.m
@synthesize delegate_;
- (id)init
{
if (self = [ super init ])
{
[ self myMethodDoStuff ];
}
return self;
}
- (void) myMethodDoStuff
{
[ self.delegate_ myClassDelegateMethod ];
}
ViewController.h
#import "MyClass.h"
@interface ViewController : UIViewController<MyClassDelegate>
ViewController.m
-(void) viewDidLoad
{
[ super viewDidLoad ];
MyClass* class = [ MyClass new ];
[ class setDelegate_:self ];
[ self.view addSubView:class ];
}
viewController.m中的myClassDelegateMethod方法未被調用。
-(void)myClassDelegateMethod
{
NSLog(@"Delegates");
}
嘿它現在工作。感謝您的描述。 – Jaff
也有可能,如果我讓MyClass單身課程?代表們是否會工作,在某些情況下是否適合使用? – Jaff
是的,單身類與普通類幾乎相同。 – anhtu