如何通过 Objective-C 中的函数传递数组?

发布于 2024-12-11 07:33:26 字数 891 浏览 0 评论 0原文

我需要一些帮助。我是 Objective-C 新手,正在尝试学习如何在 Xcode 3.0 中编写 iPhone 应用程序。 我试图通过函数传递我的数组,但很困惑。感谢您的帮助。 这是我的代码:

#import <Foundation/Foundation.h>

void add(int x) {
    NSLog(@"%i + 2 = %i", x, x + 2);
}


int main (int argc, const char * argv[]) {

 NSNumber *arrayNumber = [[NSNumber alloc] initWithInt:5];
 NSNumber *arrayNumber2 = [[NSNumber alloc] initWithInt:9];

 NSMutableArray *arrayNumbers = [[NSMutableArray alloc] initWithCapacity:1];

 [arrayNumbers addObject:arrayNumber];
 [arrayNumbers addObject:arrayNumber2];



 NSLog(@"object at index 0 = %i", [[arrayNumbers objectAtIndex:0] intValue]);
 NSLog(@"object at index 1 = %i", [[arrayNumbers objectAtIndex:1] intValue]);



for(NSNumber *answer in arrayNumbers) {
    add();
}


return 0;
}

我对 add() 部分的括号中的内容感到困惑:

for(NSNumber *answer in arrayNumbers) {
    add();
}

I need some help. I am new to Objective-C and trying to learn how to program iPhone Applications in Xcode 3.0.
I am trying to pass my array through a function and am confused. Thank you for your help.
Here is my code:

#import <Foundation/Foundation.h>

void add(int x) {
    NSLog(@"%i + 2 = %i", x, x + 2);
}


int main (int argc, const char * argv[]) {

 NSNumber *arrayNumber = [[NSNumber alloc] initWithInt:5];
 NSNumber *arrayNumber2 = [[NSNumber alloc] initWithInt:9];

 NSMutableArray *arrayNumbers = [[NSMutableArray alloc] initWithCapacity:1];

 [arrayNumbers addObject:arrayNumber];
 [arrayNumbers addObject:arrayNumber2];



 NSLog(@"object at index 0 = %i", [[arrayNumbers objectAtIndex:0] intValue]);
 NSLog(@"object at index 1 = %i", [[arrayNumbers objectAtIndex:1] intValue]);



for(NSNumber *answer in arrayNumbers) {
    add();
}


return 0;
}

I am confused by what to put in the parentheses in the part with add():

for(NSNumber *answer in arrayNumbers) {
    add();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜扑 2024-12-18 07:33:26

您需要使用 -intValue 像这样:

for(NSNumber *answer in arrayNumbers) {
    add([answer intValue]);
}

You need to unbox the NSNumber using -intValue like this:

for(NSNumber *answer in arrayNumbers) {
    add([answer intValue]);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文