gpt4 book ai didi

ios - 如何将 NSString* C 样式数组声明为全局变量

转载 作者:行者123 更新时间:2023-11-29 13:12:30 24 4
gpt4 key购买 nike

在我的主要 iOS 项目中,我遇到以下情况:
在 file1.m 中我有:

NSString* s[] = {@"1", @"2", @"3", @"4"};

在 file2.m 中我有:

extern NSString** s;

在同一个 file2.m 中,下面的方法失败并显示“无法识别的选择器‘长度’发送到实例”:

- (void) someMethod {
int len = [s[0] length];
}

如果我创建一个新的演示项目并复制上面的代码,一切都会按预期工作。
我的主要项目可能有什么问题?我被困在这里 2 天试图找到问题。
同样的问题出现在 int 数组上,不同之处在于当我尝试访问数组中的元素时收到错误的访问异常,尽管 XCode 调试器显示数组内容很好。

最佳答案

请验证用 extern 声明的全局数组名称与您在 length 的调用中引用的数组名称匹配(即 sextern NSString** s; 中的 [s[0] length] 是相同的名称),并且没有其他名为 s 的变量在length的调用范围内这将“影响”全局。由于代码在较小的项目中运行良好,因此最有可能发生命名冲突。

关于ios - 如何将 NSString* C 样式数组声明为全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859396/

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