保留NSTextField(不可见)或在需要时开始新的?

时间:2013-01-16 21:53:45

标签: macos nsview nstextfield

我有一个'画布'用户可以在不同位置输入短字符串的视图。我使用NSTextField作为条目或进行编辑,但是当不进行编辑时,文本只是在视图的绘制方法中绘制。

目前,每当需要输入或编辑时,我都会创建一个新的NSTextField,并且不会保留它,因此当它作为子视图被删除时,可能会被取消分配。

这样工作正常,打字速度比处理器慢,没有明显的延迟。

最近我发现有必要去完成编辑'从程序的不同部分开始的方法,因此发送者不再是NStextField;我为此目的使用了文本字段的属性,现在在特定编辑任务完成时将其设置为nil。这似乎仍然很好。

原则上,是否最好只保留一个NSTextField,只需在superview中添加或删除它,而不是总是创建一个新的?

稍后添加:我已经决定使用单个NSTextField,根据需要将其放入和退出superview。这似乎更清洁了。对我来说,但我仍然对任何赞成或反对意见感兴趣。

1 个答案:

答案 0 :(得分:0)

你的决定可能是最明智的。你需要使用一个单独的文本字段,因为你假设它是deallocs,我猜它会保留在内存中,在某些时候会占用各种内存。