Hãy giúp tôi với sự rò rỉ bộ nhớ này. Trong công cụ rò rỉ nó cho thấy một rò rỉ: NSCFString (32 byte) trong thư viện Foundation
Khung có trách nhiệm: NSPropertyListSerialization
. Tôi đang phát hành lỗi nhưng vẫn bị rò rỉ. Tôi đang thiếu gì? Cảm ơn nhiều!Rò rỉ bộ nhớ với Serialist Plist
NSPropertyListFormat format;
NSString *anError = nil;
id plist;
plist = [NSPropertyListSerialization propertyListFromData:rawCourseArray mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&anError];
if (!plist){
[anError release];
}
NSArray *entries = (NSArray *)plist;
for (NSDictionary *entry in entries)
{
// DO SOMETHING
}
Có bài viết khác nhau về vấn đề này trên mạng nói đó là một lỗi táo, một số người nói sử dụng tùy chọn NSPropertyListSerialization: Định dạng: lỗi và những người khác nói chuyển sang JSON serialization nhưng tôi chưa tìm được câu trả lời hay. –
Tôi thấy một lỗi: Bạn không nên thực hiện '[anError release]' trong mã của bạn; bạn không sở hữu tham chiếu đến 'anError'. 'propertyListFromData:' sẽ tự động phát hành nó trước khi trở về mã của bạn. Tuy nhiên, đây là lỗi * double-free *, không phải là * rò rỉ *. Tôi không thấy bất kỳ sự rò rỉ nào trong mã bạn đã đăng. – Quuxplusone
Trong trình gỡ lỗi, po giá trị của chuỗi bị rò rỉ để xem liệu nó có cung cấp cho bạn bất kỳ gợi ý nào không. –