0

我有一个警告,只是不知道如何让它消失。

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

-(void)restartTimer;

然后在我的 .m 我有...

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

我收到此错误:

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

我确信它非常简单,代码仍然有效。如果有人可以提出任何解决方法,那就太好了。谢谢

4

4 回答 4

1

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

于 2009-09-22T17:57:26.040 回答
1
-(void)restartTimer{
    TimerViewController *TimerView = [[TimerViewController alloc]
        initWithInt:hStart
             number:mStart];
...
}

(1)TimerView应该是timerView,根据 Objective-C 命名约定

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

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

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

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

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

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

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

于 2009-09-22T21:35:23.080 回答
1

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

于 2010-09-16T12:44:05.223 回答
-1

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

于 2009-09-22T18:04:09.897 回答