这个objective-c代码会导致内存泄漏吗?

Hao*_*est 2 memory-management objective-c ios

比较以下2个片段:

样本1:

[[UIApplication shareApplication] openURL: [NSURL URLWithString:@"http://stackoverflow.com"]]
Run Code Online (Sandbox Code Playgroud)

和样本2:

NSURL *url = [[NSUrl URLWithString:@"http://stackoverflow.com"];
[[UIApplication shareApplication] openURL: url];
[url release];
Run Code Online (Sandbox Code Playgroud)

样品1会导致内存泄漏吗?样本2中的[url release]是多余的?

如果确实发生了内存泄漏,那有多糟糕?

Bol*_*ock 9

示例1不会导致内存泄漏,并且是执行此操作的一般方法.该NSURL对象是自动释放的,因此您不应该自己释放它(正如您在示例2中所做的那样).