我已经开始用 Objective-C 编码好几天了,我对委派感到很困惑。有人可以帮忙吗?
在 MyClassA.h 中
@protocol MyClassADelegate <NSObject>
- (void)haveANewMessage:(NSString*)message;
@end
@interface myClassA : NSObject <NSStreamDelegate> {
__unsafe_unretained id<MyDelegate> _delegate;
}
@property (nonatomic, assign) id<MyClassADelegate> delegate;
@end
在 myClassB.h
@interface myClassB : NSViewController <MyTableViewDelegate,MyClassADelegate>
@property (nonatomic, strong) myClassA* instance;
@property (nonatomic, strong) IBOutlet NSTableView* tableView;
@property (nonatomic, strong) NSMutableArray* messages;
@end
在 myClassA.m
我有
[self.delegate haveANewMessage:@"Messages"];
在 myClassB.m 中
我有
- (void) haveANewMessage:(NSString *)message{
NSLog(@"Get here!");
[self.messages addObject:message ];
[self.tableView reloadData];
}
问题是我的表格视图中没有显示任何内容。有什么帮助吗??(实现的Table-View相关方法)