2011-11-24 72 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' –

相關問題