ios – OBJ-C:如何释放从方法返回的对象?

ios – OBJ-C:如何释放从方法返回的对象?,第1张

概述我很困惑从方法返回对象的内存警告. 这是我的代码. -(void)returnHeaderView{ self.headerView=[[UIView alloc]init]; headerView.frame=CGRectMake(0, 0, 955, 45); UILabel *fromLabel=[self returnLabel]; fromLabel.frame= 我很困惑从方法返回的对象的内存警告.
这是我的代码.

-(voID)returnheaderVIEw{  self.headerVIEw=[[UIVIEw alloc]init];  headerVIEw.frame=CGRectMake(0,955,45);  UILabel *fromLabel=[self returnLabel];  fromLabel.frame=CGRectMake(400,5,200,44);  fromLabel.text=@"Open Time";  [headerVIEw addSubvIEw:fromLabel];  [fromLabel release];(in correct decrement of the reference count of an object that is not owned at this point by the caller) [self.headerVIEw addSubvIEw:fromLabel]; [self.vIEw addSubvIEw:self.headerVIEw]; [self.headerVIEw release];

}

-(UILabel *)returnLabel{UILabel *label= [[UILabel alloc] init] ;label.textcolor = [UIcolor blackcolor];label.Font = Font_Title;label.numberOflines=1;label.textAlignment=UITextAlignmentleft;label.lineBreakMode=UIlineBreakModeWorDWrap;label.backgroundcolor=[UIcolor clearcolor];return label;}

这是我的两种方法.
1 .-(无效)returnheaderVIEw.
2 .-(UILabel *)returnLabel.

-returnLabel返回标签,方法返回的UILabel对象的引用传递给returnheaderVIEw方法的fromLabel UILabel对象.
然后我从Label对象中释放.

但它给出了记忆警告(
正确减少调用者此时不拥有的对象的引用计数.

所以任何人都建议我这个代码有什么问题.
以及如何释放方法返回的对象.

谢谢.

解决方法 请进行小的更改并删除泄漏,并自动释放self.headerVIEw以删除其他内存泄漏警告:

-(voID)returnheaderVIEw{  self.headerVIEw=[[[UIVIEw alloc]init] autorelease];  headerVIEw.frame=CGRectMake(0,45);  UILabel *fromLabel = [[self returnLabel] retain];  fromLabel.frame    = CGRectMake(400,44);  fromLabel.text     = @"Open Time";  [headerVIEw addSubvIEw:fromLabel];  [self.headerVIEw addSubvIEw:fromLabel];  [self.vIEw addSubvIEw:self.headerVIEw];  //[self.headerVIEw release];}-(UILabel *)returnLabel{  UILabel *label= [[UILabel alloc] init] ;  label.textcolor = [UIcolor blackcolor];  label.Font = Font_Title;  label.numberOflines=1;  label.textAlignment=UITextAlignmentleft;  label.lineBreakMode=UIlineBreakModeWorDWrap;  label.backgroundcolor=[UIcolor clearcolor];  return [label autorelease];}
总结

以上是内存溢出为你收集整理的ios – OBJ-C:如何释放从方法返回的对象?全部内容,希望文章能够帮你解决ios – OBJ-C:如何释放从方法返回的对象?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1017655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存