【发布时间】:2013-09-06 05:44:26
【问题描述】:
无法理解在这种情况下出了什么问题,所以我不能使用委托 - self.plistManager.delegate = self; Property 'delegate' not found on object of type 'DataPlistManager *' 中有一个异常
#import "DataManager.h"
#import "DataPlistManager.h"
@interface DataAdapter : NSObject <DataStorageManager>
@property (nonatomic,strong) DataPlistManager *plistManager;
- (void) saveFile;
@end
及其实现
#import "DataAdapter.h"
@implementation DataAdapter
-(id) initWithDataPlistManager:(DataPlistManager *) manager
{
self = [super init];
self.plistManager = manager;
self.plistManager.delegate = self;
return self;
}
- (void) saveFile
{
[self.plistManager savePlist];
}
@end
【问题讨论】:
-
DataPlistManager是否声明了delegate属性? -
在
DataAdapter.h中为类写参考,在此行之前使用@class DataPlistManager@interface DataAdapter : NSObject <DataStorageManager> -
显示
DataPlistManager的声明。 -
嗨,请看这个问题stackoverflow.com/questions/18636874/…这是这个问题的父级,不明白在这种情况下我应该如何设置委托。当然,DataPlistManager 中没有属性声明,因为我认为没有必要这样做。但是上一个答案的建议是添加这一行,现在有一个例外。
标签: ios objective-c delegates protocols