Objective c 目标C内存泄漏
我正在为自己创建一个Cocoa应用程序,发现了一个问题。我有两个NSTextField,它们作为NextKeyView相互连接。当我用内存泄漏检测工具运行这个应用程序,并在这两个文本框中搜索一段时间,输入一些文本等,我开始泄漏内存。它告诉我AppKit库是负责的,泄漏的对象是NSCFString,负责的帧是Objective c 目标C内存泄漏,objective-c,memory,memory-leaks,outlet,narc,Objective C,Memory,Memory Leaks,Outlet,Narc,我正在为自己创建一个Cocoa应用程序,发现了一个问题。我有两个NSTextField,它们作为NextKeyView相互连接。当我用内存泄漏检测工具运行这个应用程序,并在这两个文本框中搜索一段时间,输入一些文本等,我开始泄漏内存。它告诉我AppKit库是负责的,泄漏的对象是NSCFString,负责的帧是[NSEvent charactersIgnoringModifiers]和[NSApplication NextEventMatchingTask:untilDate:inMode:dequ
[NSEvent charactersIgnoringModifiers]
和[NSApplication NextEventMatchingTask:untilDate:inMode:dequeue:
。我知道这是一个相当简短和不完整的描述,但有人有任何想法,什么可能是问题
另外,我不使用GC,所以我在controllersdealloc
中发布了我的实例变量。销售点呢?既然IBOutlet
只是界面生成器的一个标记,实际上并不意味着什么,我应该也发布它们吗
销售点呢?既然IBOutlet只是interfacebuilder的一个标记,实际上并不意味着什么,我也应该发布它们吗
您对IBOutlet的声明告诉您如何管理它。。。如果将其声明为保留
,然后将其声明为@synthesis
,则加载nib的过程将保留
出口。因此,您必须释放它
NARC:“新的Alloc保留副本”。如果你
你不是在做这些事吗
不需要释放
这一推论也是正确的。。如果您执行了上述任何操作,您有责任在适当的时间释放对象
销售点呢?既然IBOutlet只是interfacebuilder的一个标记,实际上并不意味着什么,我也应该发布它们吗
您对IBOutlet的声明告诉您如何管理它。。。如果将其声明为保留
,然后将其声明为@synthesis
,则加载nib的过程将保留
出口。因此,您必须释放它
NARC:“新的Alloc保留副本”。如果你
你不是在做这些事吗
不需要释放
这一推论也是正确的。。如果您执行了上述任何操作,您有责任在适当的时间释放对象