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)
[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)
我不确定他们中的任何一个,但如果有效,请告诉我.