Tro*_*sen 0 xcode cocoa objective-c
我试图分析为什么Xcode分析器(v4.2)抱怨我的Objective-c代码泄漏内存.我正在创建一个NSOperation,1)递归创建一个目录(如果它不存在),2)将文件从一个目录复制到另一个目录.
NSOperation初始化为:
- (id)initWithFullPathSource:(NSString *) mysource andFullPathCopy:(NSString *) mycopy andNewDirectory:(NSString *) mydir withMode:(NSString *) mymode withLR:(NSString *) LR
{
self = [super init];
if (self) {
[self setFullPathSource:mysource];
[self setFullPathCopy:mycopy];
[self setNewDirectory:mydir];
[self setMode:mymode];
[self setMyLR:LR];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
附件是Xcode分析器如何看到我的代码的屏幕截图.谁能帮助我理解为什么我在这种情况下泄漏记忆?我在主程序结束时发布'createComponents'和'removeComponents',所以我觉得我很清楚.
希望有人可以解决我的问题.谢谢!干杯,特隆德

请注意,在目标c命名规则下,以单词开头new或copy假定返回调用者拥有的对象的方法.如果调用[self newDirectory]返回一个自动释放的对象,则尝试重命名它,使其不以new开头.
这里有一个很好的答案解释:语义问题:属性的合成getter遵循返回'拥有'对象的Cocoa命名约定
建议是更改属性上的getter的名称,如下所示:
@property (strong, nonatomic, getter=theNewDirectory) NSString *newDirectory;
Run Code Online (Sandbox Code Playgroud)
或称之为: directoryToBeCreated
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |