2010-08-17 64 views
0

我得到这个恼人的错误,并尝试每一个我知道,但在这种情况下,它没有帮助。传递变量错误

我有我的代表....

vid_name = [push objectForKey:@"vid"]; 

(在控制台.... VID = “视频”)在我的正常页面

现在我有

NSString *videoName = [(MissileAppDelegate *)[[UIApplication sharedApplication] delegate] vid_name]; 

NSString *path = [[NSBundle mainBundle] pathForResource:videoName ofType:@"mp4"]; 

当我运行这个,它来播放视频,我得到一个错误,甚至没有涉及到视频,它发生在我尝试使用[push objectForKey:@“vid”];的所有变量。如果我只是vid_name = @“视频”,它工作正常。

任何想法?

亚历

回答

2

首先,不要命名您的变量,如vid_name! Objective-C中应始终使用vidName

你应该分享更多的信息,我没有真正明白你在做什么,并且你得到的错误信息将是利基。

但这听起来像是一个内存管理问题。因为当您使用@"video"时,这是一个始终存在的静态字符串。但是当你使用objectForKey:时,你会得到一个自动释放的对象,并最终在某个时候释放对象。因此,请确保您的vid_name从您的“正常页面”访问时仍然存在。

Cocoa Memory Management Programming Guide