我有一个ViewController, 我宣布 NSString * xTitle位于testViewController.m文件的顶部
当我在viewload事件中设置xTitle = @“anytext”时; 然后点击一个按钮,它会显示UIActionsheet。
我尝试在UIActionSheet的clickedButtonAtIndex中读取xTitle。 我看到xTitle的值“anytext”,没问题。
但是当我从NSDictionary设置xTitle时,它表示无效。
viewload event;
NSDictionary *results = [jsonString JSONValue];
xTitle = [results valueForKey:@"ContentURL"];
NSLog(@"%@", xTitle);
- >它写出了价值
但我无法在uiactionsheet事件中阅读xTitle。它说无效。
为什么说“无效”?
答案 0 :(得分:0)
尝试
NSLog (@"%@", results);
创建它之后,直接查看字典中的内容。编辑以向我们显示字典中的内容。
答案 1 :(得分:0)
由于您希望字符串比该函数更长,您可能需要这样做:
xTitle = [[results valueForKey:@"ContentURL"] retain];
当然,release
在你完成它之后的某个时间点。{/ p>
这在使用NSString文字@"anytext"
时不会影响您,因为常量字符串基本上是静态的 - 也就是说,它们通常会在代码的整个生命周期内保持不变。你可以(也许在一些迂腐的意义上)retain
和release
这些也是如此,但实际上并没有对他们做任何事情。
(我对这个问题的范围有点好奇 - 如果在xTitle
文件的顶部声明了.m
,你如何在你的行动表中得到它 - 但我不认为这与这个问题密切相关。)