每次编译时都会收到此警告。
警告:在协议中找不到方法。
这是我在TableViewController.m文件中的代码。
@implementation TableViewController
@synthesize delegate;
- (NSArray *) placeId
{
NSArray *places = [self.delegate classMethod: placeId];
// WARNING SHOWS UP HERE.
}
//Here is my code in TableViewController.h file.
@class TableViewController;
@protocol TableViewControllerDelegate
+ (NSArray *) classMethod: (NSString *) placeId;
@end
@interface TableViewController : UITableViewController
{
id <TableViewControllerDelegate> delegate;
}
@property (assign) id <TableViewControllerDelegate> delegate;
@end
//My code in SubClass.h
#import "TableViewController.h"
@interface SubClass: NSObject <TableViewControllerDelegate>
+ (NSArray *) classMethod: (NSString *) placeId;
我是否收到此警告,因为它是+ classMethod:?我怎么能绕过这个?
非常感谢任何帮助。
答案 0 :(得分:0)
阅读this stackOverflow thread ..你的方法'classMethod'是一个类方法(多么讽刺),你不能使用该类的对象来调用它。
使用
[SubClass classMethod];
调用该函数..