if (url_leng)
{
NSString *open_string;
if (g_system_status.language_code == 0)
open_string = @"Open";
else if (g_system_status.language_code == 1)
open_string = @"Abrir";
[open_string retain];
[alert addButtonWithTitle : open_string];
g_scan_result = targ_url;
}
考虑上面的代码段。我的问题是关于“保留”声明。不知何故,我需要保留语句来使代码工作。我唯一的解释是当 open_string 超出范围时,将对它进行发布调用。因此需要一个保留调用来保存该值。
希望有人可以证实这一点...
还想问在条件块之后是否需要字符串的释放语句?
更新:(在阅读了您的友好建议和宝贵见解后)
尝试了以下修改:
if (url_leng)
{
if (g_system_status.language_code == 0)
[alert addButtonWithTitle : @"Open"];
else if (g_system_status.language_code == 1)
[alert addButtonWithTitle : @"Abrir"];
else
[alert addButtonWithTitle : @"Open"];
g_scan_result = targ_url;
}
现在一切似乎都很好(即使没有保留语句)。