Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode ipod内存泄漏-使用仪器和ipod时100%泄漏_Xcode_Memory Leaks - Fatal编程技术网

Xcode ipod内存泄漏-使用仪器和ipod时100%泄漏

Xcode ipod内存泄漏-使用仪器和ipod时100%泄漏,xcode,memory-leaks,Xcode,Memory Leaks,我在返回时有100%的泄漏[NSString stringWithUTF8String:val];。不知道如何修复它们。我相信只有alloc、retain等可能最终导致内存泄漏。非常感谢您的帮助。[NSString-stringWithUTF8String:val]是创建泄漏对象的语句,您需要了解接下来会发生什么 您是否将readTextColumnWithIndex:返回的NSString保留在某个地方 -(NSString*)readTextColumnWithIndex:(int)ind

我在返回时有100%的泄漏[NSString stringWithUTF8String:val];。不知道如何修复它们。我相信只有alloc、retain等可能最终导致内存泄漏。非常感谢您的帮助。

[NSString-stringWithUTF8String:val]
是创建泄漏对象的语句,您需要了解接下来会发生什么

您是否将
readTextColumnWithIndex:
返回的
NSString
保留在某个地方

 -(NSString*)readTextColumnWithIndex:(int)index {
    char* val = (char *)sqlite3_column_text(statement,index);
    if (val==NULL) {
        return nil;
    }
    return [NSString stringWithUTF8String:val];
}
}

这就是它的名字。readIntColumn依次调用readTextColumnWithIndex,NSDictionary返回给调用方方法的

-(NSDictionary*)loadDataRow:(SqlQuery*)q {

    return [NSDictionary dictionaryWithObjectsAndKeys:      [NSString stringWithFormat:@"%d",[q readIntColumn]],
        @"TOCID",[q readTextColumn],@"SubChapter_Name",[q readTextColumn],
        @"HtmlFileName",[q readTextColumn],@"ImageName",[q readTextColumn],
        @"RefsTitleSection",[NSString stringWithFormat:@"%d",
                             [q readIntColumn]],@"PageId",
        nil];

我不确定如何才能释放chap_Arr,因为它处于循环中。我确实在dealloc安全释放了您。

但您没有,是吗。
chap_Arr = nil;
while([query step]) {
    ChapName = [query readTextColumn];
     chap_Arr = [mData objectForKey:ChapName];
    if (!chap_Arr) {
        chap_Arr = [[[NSMutableArray alloc] init] autorelease];
        [mData setObject:chap_Arr forKey:ChapName];
    }

    [chap_Arr addObject:[self loadDataRow:query]];

}