iphone - 将 NSMutableArray 传递给函数

标签 iphone objective-c cocoa xcode

我在使用 Cocoa 时遇到了这个问题,我正在调用一个函数并将一个数组传递给它:

一些我调用函数的地方:

[self processLabels:labels];

函数如下:

- (void)processLabels:(NSMutableArray*)labs{
    labs = [[NSMutableArray alloc] init];
    [labs addObject:@"Random"];
....
}

调试时,我注意到在标签添加到实验室时没有新对象被添加到标签中。是因为我正在重新初始化实验室吗?那我怎么能在函数内部重新初始化标签呢?

我尝试使用 byref by 没有成功, 任何帮助表示赞赏.. 谢谢

最佳答案

'labs' 应该在将其传递给 processLabels 之前进行初始化,然后不应重新初始化。

如果您出于某种原因无法预先初始化数组并且您希望 processLabels 创建它,则需要将指针传递给指针:

[self processLabels:&labels];

方法会变成:

- (void)processLabels:(NSMutableArray**)labs{
    *labs = [[NSMutableArray alloc] init];
    [*labs addObject:@"Random"];
....
}

关于iphone - 将 NSMutableArray 传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/975995/

相关文章:

iphone - 在不触发获取 Controller 委托(delegate)的情况下更改 NSManagedObject

ios - FFmpeg iOS 从 AVFrame 获取 UIImage

objective-c - 如何使用 Objective-C 列出垃圾箱的内容(在 Mac 中)

cocoa - OpenGL 中的形状未正确设置在其他形状后面

iphone - UIActivityIndi​​cator 没有动画

iphone - 单击电子邮件中的音频链接后,如何打开我的应用程序音频播放器来播放音频?

iphone - 如何根据 iphone UITableView 中的文本长度调整单元格标签的大小?

iphone - UITableViewCell 内容 View - 添加 UILabel

ios - 字典与一堆 "if"和 "return"

swift - Xcode Swift MacOS 应用程序,将文件拖放到 NSTextField 中