gpt4 book ai didi

ios - 如何存储全局数组引用,但稍后在某些实现文件方法中初始化值?

转载 作者:行者123 更新时间:2023-11-30 17:42:06 25 4
gpt4 key购买 nike

我想在界面中保留对数组的引用,例如:

@interface
{
float myArray[];
}
@end

然后在我的实现文件中使用它,例如:

@implementation

-(void)someMethodToFillValuesInArray
{
myArray = { 10.0f, 20.0f, 30.0f };
}

-(void)someMethodToUseArray
{
float sum = myArray[0] + myArray[1];
}

@end

但是,XCode 抛出语法错误,我无法编译。

我无法理解语法,我尝试了很多方法但无法让它继续。谁能帮我吗?

最佳答案

您可以在声明数组时使用静态初始化程序,而不是在声明数组之后。

这是允许的,因为您在声明时正在初始化

float myArray = { 10.0f, 20.0f, 30.0f };

否则,您应该在界面中声明长度如下的数组

float    *myArray;

并在您的实现文件中使用它,如下所示

要动态分配空间,请使用对 malloc 的调用,传入要分配的字节总数

int size = 3;    // This size can be whatever you set during runtime or compile time
myArray = (float *)malloc(sizeof(float)*size);
myArray[0] = 1.0;
myArray[1] = 2.0;
myArray[2] = 3.0;

但是由于手动为数组分配了一定量的内存,因此您有责任在使用完毕后释放它。使用 free(myArray) 释放分配的内存。

关于ios - 如何存储全局数组引用,但稍后在某些实现文件方法中初始化值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827184/

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