我有一个非常简单的问题,但因为它很简单,我找不到任何问题需要修复。
ListSelectorUtility.h
#import <UIKit/UIKit.h>
@protocol ListSelectorDelegate <NSObject>
- (void) returnValueString:(NSString *)value requestID:(long)requestID;
@end
@interface ListSelectorUtility : UITableViewController
@property (strong, nonatomic) NSString *data;
@property (weak, nonatomic) id<ListSelectorDelegate> delegate;
@property (nonatomic) long requestID;
@end
UpdateProperty.h
#import <UIKit/UIKit.h>
#import "ListSelectorUtility.h"
@interface UpdateProperty : UITableViewController <ListSelectorDelegate>
@property (nonatomic, strong) NSDictionary *data;
@end
@interface UpdateProperty : UITableViewController <ListSelectorDelegate>
上有No type or protocol named 'ListSelectorDelegate'
的错误。为什么会这样?怎么解决这个?感谢。
编辑:哦,当我做CMD +点击<ListSelectorDelegate>
时,它会直接传达ListSelectorDelegate
声明。这意味着IDE(据称)可以找到它。
答案 0 :(得分:1)
在ListSelectorUtility.h上设置委托的属性(强)
@property (strong, nonatomic) id<ListSelectorDelegate> delegate;
可能是问题因为如果它是一周,那么通过ARC dealloc并在ListSelectorUtility.h上调用委托方法传递数据和值
[self.delegate returnValueString:obj_StringValue requestID:obj_requestID];
最后,这个委托方法在UpdateProperty.h中声明,
- (void) returnValueString:(NSString *)value requestID:(long)requestID
{
//---------
//Your Code
//---------
}