@synthesize xmlcont;
和
- (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];
}
但Build ans Analyze说:
在第35行分配的对象的潜在泄漏
当我点击“>”时,它说:
Method返回一个具有+1保留计数的Objective-C对象(拥有 参考)
此点之后不再引用第35行分配的对象 保留计数为+1(对象泄露)
像这样: http://www.freeimagehosting.net/newuploads/af6b3.png
我无法理解...... 请帮我解决。 非常感谢^^
答案 0 :(得分:0)
如果您的属性被声明为保留,则应通过访问者和自动释放
进行设置self.xmlcont = [[[pxmlC alloc] loadXMLByUrl:@"http://openmenu.com/api/v1/restaurant?key=57d3661c-0fa1-11e1-80ac-00163eeae34c&name=rusc"] autorelease];
您还应遵循命名约定并拥有init
或init...
初始值设定项。如果有,请致电init
bebore,呼叫loadXMLByUrl
。
答案 1 :(得分:0)
我认为分析器被名不副实的初始化器弄糊涂了。初始化程序名称必须以init…
开头,以便分析器知道该方法将返回接收方。将您的loadXMLByUrl
初始化程序重命名为initWithContentsOfURL
,看看是否有帮助。