2011-11-24 74 views
0
@synthesize xmlcont; 

LoadXMLByUrl:方法返回一个+1 Objective-C的对象保留计数

- (void)viewDidLoad { 
/* Line 35 */ xmlcont =[[pxmlC alloc]loadXMLByUrl:@"http://openmenu.com/api/v1/restaurant?key=57d3661c-0fa1-11e1-80ac-00163eeae34c&name=rusc"]; 
for (pxml *t in [xmlcont xmlArray]) { 
    NSLog(@"Name: %@ %d",[t rname],[[xmlcont xmlArray] indexOfObject:t]); 
} 
NSLog(@"abc"); 
[super viewDidLoad];} 

- (void)dealloc { 
    [xmlcont release]; 
    [super dealloc]; 
} 

但构建ANS分析说

物体的潜在的泄漏对线分配35

当我点击 “>”,它表示:

方法返回一个Objective-C对象与1挡计数(拥有 参考)上线35分配

对象是这一点 之后不再被引用,并且具有+1的保留计数(对象泄漏)

像这样: http://www.freeimagehosting.net/newuploads/af6b3.png

我无法理解...... 请帮我解决这个问题。 太感谢你了^^

回答

0

如果你的财产被声明为保留你应该通过访问设置和自动释放

self.xmlcont = [[[pxmlC alloc] loadXMLByUrl:@"http://openmenu.com/api/v1/restaurant?key=57d3661c-0fa1-11e1-80ac-00163eeae34c&name=rusc"] autorelease]; 

也应遵循命名约定,并有initinit...初始化。如果有,请拨打init bebore,拨打loadXMLByUrl

+0

感谢您的回答... 我刚开始学习,所以不知道如何命名。 在我的应用程序中, 我按照你的说法试过。但不起作用 @ _ @ –

+0

像这样:http://www.freeimagehosting.net/newuploads/9aafb.png –

+0

请发布您的pxml标题,并用大写的第一个字母命名您的类... – jbat100

0

我认为这个分析器被一个不好的初始化器所困惑。初始化程序名称必须以init…开头,以便分析程序知道该方法将返回接收程序。将loadXMLByUrl初始化器重命名为initWithContentsOfURL,看看是否有帮助。

+0

非常感谢。 但是我已经在.h和.m文件中定义了 - (id)loadXMLByUrl:(NSString *)urlString –

+0

您必须将方法从loadXMLByUrl重命名为initWithContentsOfURL,这应该有所帮助。 – zoul

+0

这是我的(id)loadXML ... [http://www.freeimagehosting.net/newuploads/c2fa2.png]我用'initWithContentOfURL' –

相关问题