【发布时间】:2014-12-03 10:45:58
【问题描述】:
我有一个名为 insideString 的 NSString,它在 .h 文件中全局定义。在viewdidload 中,我将一些字符串分配给insideString 变量。几句话后,我使用NSTimer 调用另一个方法。
在该方法中,我想将此insideString 变量与另一个字符串进行比较。但在那个时候。这个insideString 变量变为空。当我此时打印该变量时,它只显示内存地址。
NSString *strnewinsideString = [strM3u81 substringWithRange:[match rangeAtIndex:1]];
if ([strnewinsideString isEqualToString:insideString]) {
[self downloadM3u8:sender];
}
else
{
insideString=strnewinsideString;
}
这是我想做的。但是这里insideString 总是显示它的内存地址。请帮帮我。
谢谢。
【问题讨论】:
-
在比较之前检查两个字符串值 .insideString 空意味着有些地方它会变空
-
放
NSLog看值,有时调试器很烂。 -
我有一个名为 insideString 的 NSString,它是在 .h 文件中全局定义的。 这不计算。向我们展示如何声明和初始化
insideString。 -
您在使用 ARC 吗?如果不是,当自动释放池被刷新时,您的字符串可能是 dealloc。您必须保留或复制您分配给 insideString 的字符串。
标签: ios objective-c nsstring