2013-02-24 73 views
1

在FeedbackTarget.h:协议不可见

@protocol FeedbackTarget <NSObject> 
@property (nonatomic, retain) Feedback *feedback; 
- (void)someMethod; 
@end 

在FeedbackViewControllerTests.m:

#import "FeedbackTarget.h" 
... 
- (void)setUp 
{ 
    [super setUp]; 
    self.feedbackTarget = [OCMockObject mockForProtocol:FeedbackTarget]; 
} 

为什么我得到错误:未声明的标识符的使用 'FeedbackTarget'?

回答

6

好的,不是吗?

self.feedbackTarget = [OCMockObject mockForProtocol:@protocol(FeedbackTarget)]; 
0
self.feedbackTarget = [OCMockObject mockForProtocol:FeedbackTarget]; 

发送到OCMockObject这里的对象是一种叫做FeedbackTarget。但没有对象“FeedbackTarget”。这是一个协议的名称,当然,但它不是一个对象。

由于Odrakir指出,您需要通过@protocol(FeedbackTarget)。同样,在将选择器传递给对象时,您将传递@selector(theSelector:不是裸选择器。)