这两个函数调用多次会不会内存泄露?我对 Objective-C 的了解非常初级。他们对我来说似乎很好,但我对该实现感觉不太好?我应该删除那个“保留”吗? 这是全局存储对象的正确方法吗?
NSString* g_code = nil;
NSString* GetCode()
{
if (!g_code)
{
std::string code = HelperFuncs::getCode();
g_code = [[NSString stringWithUTF8String:code.c_str()] retain];
}
return g_code;
}
NSDictionary* g_options = nil;
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
g_options = [[NSDictionary alloc] initWithDictionary:userInfo];
}
最佳答案
我会在这里申请 singleton pattern如果可能的话:使用 ARC,这会让生活变得更轻松。
关于ios - 这段代码是否泄漏内存(Objective-C 全局变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30529784/