我的应用程序充斥着关于NSString对象的内存泄漏。永远不要使用alloc创建一个NSString对象,但根据Instruments(与真实设备一起使用),应用程序会泄漏NSString对象。 这发生在stringByAppendingString的使用周围。代码示例:NSString创建没有alloc,内存泄漏
NSString *documentsPathPlusSlash = [self.documentsPath stringByAppendingString:@"/"];
NSString *documentsPathPlusSlashAndFileName = [documentsPathPlusSlash stringByAppendingString:fileName];
mainMenuViewController.documentsPath = documentsPathPlusSlashAndFileName;
一旦这是一个长的语句,所以我想也许拆分为单独的行会解决这个问题。没有这样的运气,上面的代码泄漏NSString对象。这是为什么? MainMenuViewController.dealloc不会发布documentsPath,因为这不是必需的。或者是?苹果文档和各种论坛并没有真正的帮助。
谢谢!解决了。 NSString是特殊对象。 – 2010-05-25 14:14:02
那么究竟是什么问题呢? – Vladimir 2010-05-25 14:29:33