gpt4 book ai didi

ios - 将一个 NSString 常量分配给另一个

转载 作者:可可西里 更新时间:2023-11-01 06:07:23 24 4
gpt4 key购买 nike

我想定义 NSString 常量并让其中一个引用另一个。例如:

NSString * const kUrlGoogle = @"http://google.com";
NSString * const kUrlApple = @"http://apple.com";
NSString * const kUrlMicrosoft = @"http://microsoft.com";

NSString * const kUrlDefault = kUrlGoogle;

当我尝试这样做时,我在 kUrlDefault 行遇到编译时错误:

Initializer element is not a compile-time constant

有没有办法在不使用宏的情况下将 kUrlDefault 分配给上述字符串之一?

以下是这可能有用的几个原因:

  • 我可以在不调用 isEqual 方法的情况下测试是否相等。
  • 如果我更新常量,kUrlDefault 将自动获取新值(与所有常量一样)。
  • 将所有常量保存在同一位置的一个文件中。

最佳答案

我认为您需要退后一步,考虑是否需要将字符串定义为常量。

很明显,该字符串不是常量,因为您正试图为其分配一个新值 - 这是不可能的,因为您特别指示编译器使用 const 关键字确保该值未被更改。

如果字符串作为类中的属性驻留,您可以将其设为只读属性 - 即访问器方法但没有 setter 方法。然后,您就可以在类内部按照自己的意愿构造字符串,同时防止调用者更改值。

关于ios - 将一个 NSString 常量分配给另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845400/

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