【发布时间】:2012-07-26 11:20:08
【问题描述】:
我在下面的代码中收到了这些警告。 任何想法如何解决这个问题? 感谢您的帮助。
- 缺少类型说明符,默认为 'int'
- 指向使用“void *”类型表达式初始化“int”的整数转换指针不兼容;
- 未使用的变量“mymoviePlayerController”
重要的一行是"__block mymoviePlayerController = nil;
- (void) moviePlaybackCompleteLightBox:(NSNotification*) notification {
MPMoviePlayerController *mymoviePlayerController = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:mymoviePlayerController];
// movie fadein transition ====================
self.moviePlayerController.view.alpha = 1;
[UIView animateWithDuration:0.3f delay:0.0 options:UIViewAnimationCurveEaseOut
animations:^{
self.moviePlayerController.view.alpha = 0;
}
completion:^(BOOL finished) {
[mymoviePlayerController stop];
[mymoviePlayerController.view removeFromSuperview];
__block mymoviePlayerController = nil;
}];
}
【问题讨论】:
-
您是否也在.h 文件中声明了“mymoviePlayerController”?我的意思是本地和全球??
-
同时指定您收到第一个和第二个警告的行
-
"重要的一行是 "__block mymoviePlayerController = nil;" 这会引发警告。
-
如果您使用的是 ARC,则无需编写此行。 [removefromSuperview] 这样做。
标签: iphone objective-c ios objective-c-blocks