找不到另一个头中定义的委托

时间:2016-02-23 04:45:42

标签: ios objective-c xcode delegates

我有一个非常简单的问题,但因为它很简单,我找不到任何问题需要修复。

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(据称)可以找到它。

1 个答案:

答案 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
  //---------
}