gpt4 book ai didi

objective-c - Objective C 类别以及执行和打字的速度

转载 作者:搜寻专家 更新时间:2023-10-30 20:10:39 24 4
gpt4 key购买 nike

我正在考虑用我自己的代码包装常用的 Cocoa 对象选择器以提高我的打字速度。一个典型的例子是修剪空白选择器:-

[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

我的选择是:-

(1) 像这样将其包装在 NSSTring 类别中

- (NSString *)Trim 
{
return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}

(2) 把它定义成一个宏而不是像这样

#define TRIM(X) [X stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]

我更喜欢上面的选项 (1),但是会影响性能吗?

最佳答案

该类别极不可能在性能上产生任何显着甚至明显的差异。

类别方法需要一个额外的消息调度,所以是的,它会比宏慢。但是 ObjC 消息调度程序是整个操作系统中最优化的代码之一——它绝不慢。

但是,如果您多次使用该宏,您的代码大小将比使用该类别增加更多,这可能会产生更严重的副作用。 (但这不是很多代码,所以需要很多实例才能产生真正的不同。)

因此,与往常一样,这完全取决于您的具体情况——您必须测量并查看。如果您真的能测量出差异,我会感到很惊讶。

关于objective-c - Objective C 类别以及执行和打字的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com