initwithint警告,找不到方法?

时间:2009-09-22 17:44:21

标签: objective-c initialization integer warnings init

我有一个警告,无法解决如何让它消失。

在我的.h我有这个...

-(void)restartTimer;

然后在我的。我有......

-(void)restartTimer{
TimerViewController *TimerView = [[TimerViewController alloc]
  initWithInt:hStart
  number:mStart];

我收到此错误:

警告:没有'-initWithInt:number。'找到方法。

我确信它非常简单,代码仍然有效。如果有人能提出任何方法来解决它会很棒。感谢

4 个答案:

答案 0 :(得分:1)

这意味着编译器在编译时无法找到这样的方法。只需在TimerViewController文件中添加.m标题即可。

答案 1 :(得分:1)

-(void)restartTimer{
    TimerViewController *TimerView = [[TimerViewController alloc]
        initWithInt:hStart
             number:mStart];
...
}
根据Objective-C命名约定,

(1)TimerView应为timerView

(2)你的TimerViewController.h应该有一个类似的声明:

- (TimerViewController *) initWithInt: (NSInteger) hStart number: (NSInteger) mStart;

(假设您希望hStart和mStart为整数)。

(3)您必须在上述代码出现的实现文件中直接或间接导入TimerViewController.h(因为它是由其他东西导入的,可能是项目的PCH文件)。

(4)该方法的更好名称可能是:

- (TimerViewController *) initWithHStart: (NSInteger) hStart mStart: (NSInteger) mStart;

或者类似的东西 - 也就是说,该方法应该描述它所采用的参数的性质。

答案 2 :(得分:1)

导入头文件my .h将解决此问题

答案 3 :(得分:-1)

代码仍然有效,因为Objective-C允许向nil对象发送消息,因此*TimerViewnil