gpt4 book ai didi

iphone - 使用静态常量——内存停止?

转载 作者:行者123 更新时间:2023-12-03 16:53:04 25 4
gpt4 key购买 nike

当我们使用以下语法定义变量时,这是否意味着它始终卡在内存中:

static NSString *const kMyLabel = @"myLabel";

我有 100 个常量。考虑到 #define 不会让它们在内存中保持事件状态,我应该选择 #define 预处理器编译器吗?

最佳答案

采用 @"my string" 格式的硬编码字符串被烘焙到应用程序二进制文件中。为了使其不是永久存在,您必须这样做:

static NSString *kMyLabel = nil;

...somewhere else
kMyLabel = [[NSMutableString alloc] initWithString:@"myLabel"];

但这很愚蠢,因为这样你就会在内存中同时拥有 @"myLabel" (因为它是应用程序二进制文件的一部分)和分配的字符串。所以内存加倍。

简而言之:

如果您有一个常量字符串,则无法从内存中“卸载”它。除非您将书中的几章硬编码到二进制文件中,否则不必担心。您是否将其视为性能问题?

关于iphone - 使用静态常量——内存停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5022589/

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