我正在与这段代码作斗争好几天了,我真的很感激你的洞察力。所以这里...
fileName
在我的.h
文件中声明为
NSString *fileName;
后来作为
@property (nonatomic, copy) NSString *fileName;
里面是无法访问的viewWillDisappear
。它只是显示为 nil 对象,或者在我调试时显示为一些奇怪的值。当我调试时,我的控制台会显示这个消息:
文件名打印说明: FileNumber1
当我到达viewWillDisappear
我的控制台时显示:
文件名打印说明:
是的,fileName 什么都没有.. 值就消失了.. 我只是不知道为什么!!!
更多详情:
在我的init
方法中,我执行以下操作并且效果很好。
fileName = [[NSString alloc] initWithString:(NSString *)CFURLGetString(pdfURL)];
fileName = [[fileName lastPathComponent] stringByDeletingPathExtension];
fileName = [fileName stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
在整个程序中,我可以fileName
正常访问,但在内部viewWillDisappear
我试图standardUserDefaults
通过尝试以下操作来保存:
NSUserDefaults *ud = [[NSUserDefaults standardUserDefaults] autorelease];
NSArray *tmp = [NSArray arrayWithArray:someMutableArray];
[ud setObject:tmp forKey:fileName]; // THE PROBLEM IS HERE WITH fileName AS AKEY
[ud synchronize];
[tmp release];
此时someMutableArray
可以访问,但fileName
不是。任何见解,想法,想法,将不胜感激。