ios - 如何在函数外部创建一个数组,并能够在其他函数中添加到它

标签 ios objective-c arrays

看起来如果我做类似的事情:

NSMutableArray *randomSelection = [[NSMutableArray alloc] init];

那么这需要在一个函数中,并且我以后无法使用不同的函数修改它。

我尝试在 .h 文件中实例化它,

@interface ViewController:
{
  NSMutableArray *Values;
}

但是当我尝试在运行时附加到它时,什么也没有发生。我尝试添加以下内容:

int intRSSI = [RSSI intValue];
NSString* myRSSI = [@(intRSSI) stringValue];
[Values addObject:myRSSI];

但是当我这样做时,数组仍然是空的。

我该如何解决这个问题?

最佳答案

推荐的方式是创建属性;

// ViewController.h

@interface ViewController : UIViewController
{
}

@property (nonatomic, strong) NSMutableArray *values;

@end

然后覆盖该属性的 getter,以延迟初始化它,即数组将在第一次调用 NSMutableArray 属性的 getter 时分配和初始化:

// ViewController.m

@interface ViewController ()

@end

@implementation ViewController

- (NSMutableArray *)values
{
  if (!_values) {
    _values = [[NSMutableArray alloc] init];
  }

  return _values;
}

- (void)viewDidLoad
{
  [super viewDidLoad];

  //int intRSSI = [RSSI intValue];
  //NSString *myRSSI = [@(intRSSI) stringValue];
  //[self.values addObject:myRSSI];
  // Keep it simple:
  [self.values addObject:RSSI];
}

@end

关于ios - 如何在函数外部创建一个数组,并能够在其他函数中添加到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25174117/

相关文章:

ios - MagicalRecord - 检索最后插入的记录 ID

ios - 子类化 UIButton

ios - 在 MonoTouch 对话框中调整 StringElement 值的大小

ios - 为每个选项卡创建一个带有 Storyboard的选项卡栏

ios - 如何使用 UIActivityItemProvider 通过 UIActivityViewController 发送带有附件的电子邮件?

ios - 在 iOS 上将数据保存到磁盘

ios - 检测是否手动输入了 HealthKit 事件

php - JavaScript 对象对关联数组(又名 map )有效吗?有哪些选择?

java - 比较数组中的 double 值并返回索引号

perl - 如何遍历Perl数组引用?