“可能无法响应Xcode 4.2中的'initWithStyle:'”警告

时间:2011-10-20 06:42:51

标签: xcode warnings xcode4.2

我一直在愉快地使用CPLockController课程。但自从升级到Xcode 4.2后,我收到了以下警告:

'CPLockController' may not respond to 'initWithStyle:'

代码中的这一行:

CPLockController *lockController = [[CPLockController alloc]initWithStyle:(UITableViewStyle)CPLockControllerTypeAuth];

CPLockController.m文件中的实现是:

- (id)initWithStyle:(CPLockControllerStyle)theStyle {
    if(self == [super init]){
        self.style = theStyle;
        self.retry = NO;
        self.tempString = [NSMutableString string];
        self.hideCode = YES;
    }

    return self;
}

和CPLockControllerStyle的类型定义:

typedef enum {
CPLockControllerTypeAuth,
CPLockControllerTypeSet
} CPLockControllerStyle;

我甚至在github中创建了一个问题,但到目前为止还没有回复!

请指导......谢谢!

1 个答案:

答案 0 :(得分:3)

那是因为开发人员没有在类声明中声明-initWithStyle:。如果您检查CPLockController.h,则-initWithStyle:不存在。

我不确定为什么开发人员没有这样做(也许他已经忘记了,在这种情况下你应该提交一个bug),但你可以轻松地将声明添加到CPLockController.h,如下所示:

@interface CPLockController : UIViewController <UITextFieldDelegate> {
    // Bunch of ivars
}

// Bunch of properties

- (void)setTitle:(NSString *)title;
- (id)initWithStyle:(CPLockControllerStyle)theStyle; // <-- add this line
@end