【问题标题】:How do I access an object via a NSString? [duplicate]如何通过 NSString 访问对象? [复制]
【发布时间】:2015-04-11 11:30:50
【问题描述】:

我有一些这样的代码:

 for(int i = 0; i<5; i++) {

        self.objecti = someObject;

    }

我想根据i选择一个对象,所以如果i=1那么我的代码执行self.object1=someObject;是否可以创建一个对象名称的字符串然后以这种方式访问​​它?

【问题讨论】:

  • object1 和 someObject 是什么?
  • 这只是一个一般的例子。在我的应用程序中,我想根据循环修改 UIButtons。我也不能使用数组。
  • 尝试标记您的按钮并根据条件进行更改,例如 if(i==0){ //code },如下面的答案所示。
  • 任何时候你发现自己拥有label1label2label3 等对象时,你应该只使用一组标签。
  • 那么我应该把所有的标签和按钮放在单独的数组中吗?

标签: ios objective-c xcode


【解决方案1】:

这可以使用键值编码,如this question 的第一个答案中所述:

for(int i = 0; i<5; i++) {
    [self setValue:someObject forKeyPath:[NSString stringWithFormat:@"object%i", i];
}

【讨论】:

  • 谢谢,这就是我要找的东西
【解决方案2】:

你可以这样试试,

for(int i = 0; i<5; i++) 
{
  if(i==0)
   {
    self.yourString = [NSString stringWithFormat:@"%@",array[i]];
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 2013-11-22
    • 2022-01-28
    • 2016-12-09
    • 2017-05-28
    相关资源
    最近更新 更多