gpt4 book ai didi

iOS:从函数输入参数中检索数据

转载 作者:行者123 更新时间:2023-11-29 04:12:36 25 4
gpt4 key购买 nike

我想知道如何通过向函数提供输入参数来检索值。我想以这种方式检索,如下所示,但它不会检索它,而是在打印时给出空数组值。我什至不能在参数中使用像 c 这样的&符号。

NSMutableArray *firstArray = [[NSMutableArray alloc] init];
NSMutableArray *secondArray = [[NSMutableArray alloc] init];

MyClass *myClassObj = [[MyClass alloc] init];
[myClassObj getVals : firstArray : secondArray];
NSLog(@"firstArray: %@", firstArray); // empty
NSLog(@"secondArray: %@", secondArray); // empty

// function to retrieve
- (void) getVals :(NSMutableArray *) firstArray :(NSMutableArray *) secondArray
{
firstArray = [NSMutableArray arrayWithObjects:@"val1", @"val2", @"val3", @"val4", nil];
secondArray = [NSMutableArray arrayWithObjects:@"val11", @"val22", @"val33", @"val44", nil];


}

最佳答案

试试这个:

- (void) getVals :(NSMutableArray *) firstArray :(NSMutableArray *) secondArray {
[firstArray addObjectsFromArray:@[ @"val1", @"val2", @"val3", @"val4" ]];
[secondArray addObjectsFromArray:@[ @"val11", @"val22", @"val33", @"val44" ]];
}

您的代码将一个新数组分配给本地参数值,而不是向传入的数组添加值。

您的其他选择可能是:

NSMutableArray *firstArray = nil;
NSMutableArray *secondArray = nil;

MyClass *myClassObj = [[MyClass alloc] init];
[myClassObj getVals : &firstArray : &secondArray];

- (void) getVals :(NSMutableArray **) firstArray :(NSMutableArray **) secondArray {
*firstArray = [NSMutableArray arrayWithObjects:@"val1", @"val2", @"val3", @"val4", nil];
*secondArray = [NSMutableArray arrayWithObjects:@"val11", @"val22", @"val33", @"val44", nil];
}

关于iOS:从函数输入参数中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14198177/

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