iPhone GUI用于实时日志消息显示

我的目标是在我的GUI上有一个专门用于记录内部组件生成的实时消息的屏幕.将对日志消息设置一定的限制,以便修剪旧消息.

我正在考虑使用带有NSMutableString的UITextView来实现存储输出.我必须在NSMutableString对象上以某种方式执行手动修剪.是一种更好的实现方法吗?

最佳答案 在你测量并证明你的初始方法太慢,使用太多内存或者其他问题之前,我不会担心性能问题.尽管如此,我认为我不会接受Yakub的建议并通过中间文件来处理.

UITextView听起来不错.我可能首先尝试将日志消息收集到NSMutableArray中以使修剪变得容易,然后将这些消息连接到由换行连接的单个NSString中,并将其分配给文本视图.

冒着过度设计可能是开发时调试辅助工具的风险,您可能会考虑在类中包装日志消息的管理(添加,修剪和生成NSString).您可以更自由地更改内部工作,而无需考虑使用它的代码.

@interface LogManager : NSObject
{
    NSMutableArray *messages;
}

- (void) addMessage:(NSString *)message;
- (NSString *) logAsString;

@end

实施很简单.

请注意,您也可以让此类知道您的UITextView,但如果您这样做,请记住必须在主线程上完成对用户界面的更新(请参阅performSelectorOnMainThread:withObject:waitUntilDone:.

点赞