目标c中指针转换的无效整数

DSh*_*hah 0 iphone cocoa-touch objective-c nsinteger

当我构建这个代码时,我得到WARNING,INVALID Integer指针转换.但是当我运行应用程序时它会崩溃.....

任何人都可以帮助我...我在withObject收到警告:[发送者标签]

我有frontButtonScaleUp方法,它接受(NSIngeter)参数...并且标签返回NSInteger值...

- (IBAction)frontButtonReleased:(id)sender
{
    const double delay = 0.3;
    double elapsed = CACurrentMediaTime() - tapStartTime;;
    if (elapsed >= delay)
        [self frontButtonScaleUp:[sender tag]];
    else
        [self performSelector:@selector(frontButtonScaleUp) withObject:[sender tag] afterDelay:delay - elapsed];
}
Run Code Online (Sandbox Code Playgroud)

Mih*_*atu 5

[sender tag]是一个NSInteger,你不能将它传递给它,performSelector:withObject:afterDelay:因为它需要一个对象.你可以做的是调用这样的函数:

[self performSelector:@selector(frontButtonScaleUp) withObject:[NSNumber numberWithInt:[sender tag]] afterDelay:delay - elapsed];
Run Code Online (Sandbox Code Playgroud)

或尝试

[self performSelector:@selector(frontButtonScaleUp) withObject:(id)[sender tag] afterDelay:delay - elapsed];
Run Code Online (Sandbox Code Playgroud)

我不确定他们中的任何一个,但如果有效,请告诉我.