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' の使用?

4

2 に答える 2

6

わかりました、そうすべきではありませんか?

  self.feedbackTarget = [OCMockObject mockForProtocol:@protocol(FeedbackTarget)];
于 2013-02-24T17:47:10.300 に答える
0
 self.feedbackTarget = [OCMockObject mockForProtocol:FeedbackTarget];

ここに送信されるオブジェクトOCMockObjectは と呼ばれるものFeedbackTargetです。しかし、オブジェクト「FeedbackTarget」はありません。確かにこれはプロトコルの名前ですが、オブジェクトではありません。

Odrakir が指摘しているように、@protocol(FeedbackTarget) を渡す必要があります。同様に、オブジェクトにセレクターを渡すときは、@selector(theSelector: ネイキッド セレクターではなく) を渡します。

于 2013-02-24T19:47:25.330 に答える