- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Analyze 显示内存泄漏,我在以下代码片段中为 fileB 分配了 filePath 值:
NSString *docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docsDir stringByAppendingPathComponent:@"/fileA"];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
self.propertyA = [[NSMutableArray alloc] initWithContentsOfFile:filePath];
} else {
// initialize array with default values and write to data file fileA
[self populatePropertyAForFile:filePath];
}
filePath = [docsDir stringByAppendingPathComponent:@"/fileB"];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
self.propertyB = [[NSMutableArray alloc] initWithContentsOfFile:filePath];
} else {
// initialize array with default values and write to data file fileB
[self populatePropertyBForFile:filePath];
}
我理解是因为之前的值(fileA)没有被释放。但我不知道如何阻止这种泄漏。
最佳答案
没有。 filePath 没有错。问题几乎可以肯定是您的两个属性 propertyA
和 propertyB
。如果它们是保留属性,那么您分配给它们的数组和它们的内容将泄漏,因为您拥有您分配的数组并且您没有释放它们。像这样更改行:
self.propertyA = [[[NSMutableArray alloc] initWithContentsOfFile:filePath] autorelease];
// ^^^^^^^^^^^ will release ownership of the array
关于objective-c - NSString stringByAppendingPathComponent 上的内存泄漏 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347677/
我在 iOS 应用程序和 Foundation 工具中尝试了以下行: [@"http://www.apple.com/" stringByAppendingPathComponent:@"/"] 每次
我的应用程序在 Instagram 上分享照片,为此,它首先将其保存在临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingPa
我的应用程序在 Instagram 上分享照片,为此,它首先将其保存在临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingPa
这个问题已经有答案了: stringByAppendingPathComponent is unavailable (11 个回答) 已关闭 7 年前。 嗯,通常的 Swift 升级需要重写。我古老的
我正在为 Swift 2 更新我的代码,我在本地为用户配置文件保存的图像文件路径遇到了问题。我什至不确定在哪里解决这个问题,我已经尝试使用 URLByAppendPathComponent 但我不确定
我遇到了错误 'stringByAppendingPathComponent' is unavailable: Use 'stringByAppendingPathComponent' on NSSt
我的应用程序在 Instagram 上分享照片,为此它首先将它保存在一个临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingP
我创建了一个名为 dataFilePath() 的函数。此方法在 Documents 目录中创建一个文件 data.plist 并返回它的路径。我想知道..如果 data.plist 已经存在于 Do
我正在尝试通过翻译 Swift 2 的代码来学习 Swift 3。在 Swift 2 中,我看到这样的代码: return fullPath.stringByAppendingPathComponen
EDIT_v002 我已经查看了所有评论,并且开始明白我应该做什么。为此,我修改了我的代码(见下文),我将 newPath 更改为 NSString,删除了 [[alloc] init] 和结束 [r
这个问题已经有答案了: stringByAppendingPathComponent is unavailable (11 个回答) 已关闭 5 年前。 我刚刚将项目转换为 Swift 3,但出现错误
Analyze 显示内存泄漏,我在以下代码片段中为 fileB 分配了 filePath 值: NSString *docsDir = [NSSearchPathForDirectoriesInDom
我有一个带有字符串的 bundel 设置:version 在我的包设置中版本 = 2.9.1 在我的项目中,如果我使用这段代码,一切都很好: NSString *path = [documentsDi
这个问题在这里已经有了答案: stringByAppendingPathComponent is unavailable (11 个答案) 关闭 7 年前。 我刚刚安装了带有新 Swift 2 的
我一直在修改一些代码以在 Mac OS X 和 iPhone OS 之间工作。 我遇到了一些使用 NSURL 的 URLByAppendingPathComponent:(在 10.6 中添加)的代码
当调用 +[NSURL URLWithString:] 时,我有两个构建 URL 的选项: [[@"http://example.com" stringByAppendingPathComponent
我是一名优秀的程序员,十分优秀!