2010-08-17 3 views
0

Im obtenir cette erreur ennuyante et essayé tous les je sais, mais dans ce cas, il n'a pas aidé.Passant Variables Erreur

J'ai dans mon délégué ....

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

(dans la console .... vid = "video")

maintenant dans ma page normale i ont

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

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

quand je cours cela et il vient pour lire la vidéo, j'obtiens une erreur qui ne se rapporte même pas à la vidéo, il arrive avec toutes les variables que j'essaie et passe en utilisant [push objectForKey: @ "vid"] ;. si je juste vid_name = @ "vidéo" cela fonctionne bien.

Des idées?

Alex

Répondre

2

d'abord ne pas nommer vos variables comme vid_name! Vous devriez toujours utiliser vidName dans Objective-C.

Vous devriez partager plus d'informations, je ne comprends pas vraiment ce que vous faites et le message d'erreur que vous obtenez serait une niche.

Mais cela ressemble à un problème de gestion de la mémoire. Parce que lorsque vous utilisez le @"video" c'est une chaîne statique qui est toujours là. Mais quand vous utilisez objectForKey: vous obtenez un objet qui est auto-libéré et obtient éventuellement désaffecté à un moment donné. Assurez-vous donc que votre vid_name existe encore lorsque vous y accédez à partir de votre «page normale».

Cocoa Memory Management Programming Guide

Questions connexes