Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 协议不可见_Objective C - Fatal编程技术网

Objective c 协议不可见

Objective c 协议不可见,objective-c,Objective C,在FeedbackTarget.h中: @protocol FeedbackTarget <NSObject> @property (nonatomic, retain) Feedback *feedback; - (void)someMethod; @end 为什么会出现错误:使用未声明的标识符“FeedbackTarget”?好的,应该是吗 self.feedbackTarget = [OCMockObject mockForProtocol:@protocol(Feedb

在FeedbackTarget.h中:

@protocol FeedbackTarget <NSObject>
@property (nonatomic, retain) Feedback *feedback;
- (void)someMethod;
@end
为什么会出现错误:使用未声明的标识符“FeedbackTarget”?

好的,应该是吗

  self.feedbackTarget = [OCMockObject mockForProtocol:@protocol(FeedbackTarget)];
好吧,不是吗

  self.feedbackTarget = [OCMockObject mockForProtocol:@protocol(FeedbackTarget)];
发送到
OCMockObject
的对象称为
FeedbackTarget
。但没有对象“反馈目标”。当然,这是一个协议的名称,但它不是一个对象

正如Odrakir指出的,您需要传递@protocol(反馈目标)。类似地,将选择器传递给对象时,将传递@selector(selector:而不是裸选择器)

发送到
OCMockObject
的对象称为
FeedbackTarget
。但是没有对象“FeedbackTarget”。这是协议的名称,但它不是对象

正如奥德拉基尔指出的,您需要传递@protocol(FeedbackTarget)。类似地,当向对象传递选择器时,您传递@selector(theSelector:而不是裸选择器)

 self.feedbackTarget = [OCMockObject mockForProtocol:FeedbackTarget];