- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发 IOS 应用程序。我确实用 XCode 工具进行了分析,如果我不写自动释放则显示“潜在内存泄漏”消息。这是下面代码块中的错误吗?我不确定。
//TransferList.h
@property (nonatomic,retain) WebServiceAPI *webApi;
//TransferList.m
@implementation TransferList
@synthesize webApi;
- (void)viewDidLoad
{
[super viewDidLoad];
self.webApi = [[[WebServiceAPI alloc] init] autorelease];
}
- (void)dealloc
{
[webApi release];
[super dealloc];
}
最佳答案
如果这是在 MRC 下编译的(显然是这样),那么如果没有 autorelease
就会出现内存泄漏。这是绝对正确的。
alloc
表示您想要对象的所有权
分配给 retain
的属性也声明所有权(由属性)
在 dealloc
中,您将释放该属性(该属性将不再拥有该对象)。
如果没有 autorelease
,viewDidLoad
将永远不会失去对象的所有权,并且您将发生内存泄漏,因为该对象永远不会被释放。
- (void)viewDidLoad {
[super viewDidLoad];
//create the object and get the ownership
WebServiceAPI *api = [[WebServiceAPI alloc] init];
//let our property also own this object
self.webApi = api;
// I don't want to own the object anymore in this method
// (of course, using autorelease is simpler)
[api release];
}
- (void)dealloc {
//our property doesn't want to own the object any more
[webApi release];
[super dealloc];
}
关于IOS @property, @synthesize 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19978575/
在 .h 文件中添加了两个属性: @property (assign, nonatomic, readonly) float weightInLbs; @property (strong, nonat
更新到 iOS8.3 后,我开始收到一堆在 iOS8.2 上没有的新警告。其中一个特别引起了我的注意; @property (strong, nonatomic) IBOutlet UITableVi
FINAL EDIT The solution to all life's problems: Switching xcode's "Compiler Version" setting to "LLV
@synthesize 和 @property 在 Xcode 中做什么?请用非常简单的术语进行解释? 最佳答案 您要求简单的术语: @property declares a property in
从 Xcode 4.4 开始具有默认的属性综合。它会自动生成: @synthesize name = _name; source 来自source2 readwrite vs readonly 确
我有几个 UITableViewController,并希望它们都具有多个属性,例如 fetchedResultsController 和 managedObjectContext。所以我为所有这些创
在我的 AppDelegate.h 文件中,我编写了以下代码 @interface iBountyHunterAppDelegate : NSObject { UITabBarControl
我看过下面这段代码: //example.h MKMapView * mapView1; @property (nonatomic, retain) MKMapView * mapView; //ex
我有点困惑,因为在某些教程中只是 在小时 @property (readwrite,nonatomic) NSUInteger DirectProp; 米 @synthesize DirectProp
我正在学习 iPhone 开发。在书中的示例中,属性提到了@synthesize关键字。 对于控件,我在 .h 文件中定义属性,但不在 .m 文件中定义 @synthesize。我正在使用 .text
嗨,我正在尝试了解构造函数在 C++ 中的工作原理。为此,我使用以下示例: class NoDefault { public: NoDefault (const std::string &){}
嗨,我正在尝试了解构造函数在 C++ 中的工作原理。为此,我使用以下示例: class NoDefault { public: NoDefault (const std::string &){}
我正在开发 IOS 应用程序。我确实用 XCode 工具进行了分析,如果我不写自动释放则显示“潜在内存泄漏”消息。这是下面代码块中的错误吗?我不确定。 //TransferList.h @proper
这个问题在这里已经有了答案: What name does the auto-generated ivar take when I just declare a property in XCode
好的,我有我为核心数据创建的类 LoginPass.h 然后我有头等舱 FirstClass.h 然后我需要在 SecondClass 中使用这些类,我在其中使用 @class 声明它们。头文件 Se
我们使用#pragma mark - StackOverFlow Example 来组织我们的功能菜单(实现导航菜单中最内层的菜单)。 我想做的是通过删除不需要的指令(例如 @synthesize)来
我有类似的东西 @property(nonatomic,retain) UIImageView *whiteBfFillUp; @end @synthesize locationManager; 我是
我在最新的 iOS SDK 中使用带有核心数据的示例导航 View 模板。 在 rootViewController.m 文件中,我在 @synthesize 行中看到了这一点: @synthesiz
//SecondPage.h @property (nonatomic, copy) NSString *secondLabelText; +(SecondPage *) newAlloc; +(id
当我第一次学习 iOS 编程时(我相信这是来自斯坦福大学 ARC 之前的讲座),我们总是这样综合属性: @synthesize myProperty=_myProperty 但是,这似乎是 defau
我是一名优秀的程序员,十分优秀!