我在我的视图控制器中有一个NSURL
成员。基于用户按下哪个按钮等用户输入,我必须动态获取url字符串并创建一个NSURL
对象。动态更改NSURL的网址
当前每次我创建一个NSURL
对象。我知道这是内存泄漏。有没有什么办法可以在不删除内存的情况下更改NSRUL
成员的url字符串值?
我无法发布NSURL
会员,因为该项目在@autoreleasepool
之下。
代码片段:
@interface myViewController : UIViewController <MyWebViewDelegate>
{
NSURL* NavigationURL;
...
}
@implementation myViewController
...
-(IBAction) LoadURL
{
if (self.NavigationURL)
{
NSURLRequest *Request = [NSURLRequest requestWithURL:NavigationURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[WebView loadRequest:Request];
}
}
- (IBAction)onHomeClick:(UIButton *)sender
{
switch (sender.tag)
{
case 101:
{
self.NavigationURL = [[NSURL alloc] initWithString:@"https://zzzqmsdb.xxxxyyyy.com/sites/pex/iPadFiles/CommAndCoord.pdf"];
[self LoadURL];
}
break;
case 102:
{
[self stopResourcesIfAlreadyLoading];
self.NavigationURL = [[NSURL alloc] initWithString:@"https://zzzqmsdb.xxxxyyyy.com/sites/pex/iPadFiles/PartCulture.pdf"];
[self LoadURL];
}
break;
}
@end
这也将分配一个'NSURL'对象,不是吗? – sergio
没有分配的对象将是autoRelease,你不需要为该对象而烦恼。 – Rajkumar
我认为这样的自动释放对象是由编译器本身维护的,并且该程序不拥有这样的对象。 – Rajkumar