【问题标题】:how could i combine NSString with NSArray我如何将 NSString 与 NSArray 结合起来
【发布时间】:2016-01-27 10:18:09
【问题描述】:

我有NSString*url,我想结合数字的NSArray来加载图片,我挣扎了很多天仍然没有工作任何人知道该怎么做

p.s 我想用数组的数量替换 NSString %@

这是我的NSString *url = http://flicksbank.console360.net/images/%@/default.jpg

这是我来自 NSArray 的号码:

(

    42,
    47,
    56,
    65,
    97,
    128,
    277,
    278,
    312,
    313,
    518,
    522,
    523,
    526
),
    (
    42,
    89,
    522
),
    (
    89,
    312,
    313
),
    (
    89,
    522
),
    (
    91,
    317
),
    (
    98
),
    (
    317,
    518,
    523,
    525,
    526
),
    (
    329
),
    (
    332
)

【问题讨论】:

  • 您的NSArrayNSArrayNSArrayNSString(或NSNumber)。您是在寻找“for 循环”,还是访问第三组中的第一个?不清楚。
  • 我想将每个数字都替换为 url,但我不确定哪种方式更好
  • NSArray 中有哪些对象?
  • 正如他所说的'NSArray of numbers',我猜它们是数字@trojanfoe
  • 确实;这将是最有意义的,因为日志输出不包含每个值的引号。

标签: objective-c nsstring nsarray


【解决方案1】:

您可以使用两个 for 循环来获取数字:

for(NSArray *numbers in yourMainArray)
{
     for(NSNumber *n in numbers)
     {
         NSString *urlString = [NSString stringWithFormat:@"http://flicksbank.console360.net/images/%d/default.jpg", [n intValue]];
     }

}

NSStringNSNumber 的更通用解决方案

    for(NSArray *numbers in yourMainArray)
    {
         for(id n in numbers)
         {
             if([n isKindOfClass:[NSNumber class]])
             {
                 NSString *urlString = [NSString stringWithFormat:@"http://flicksbank.console360.net/images/%d/default.jpg", [n intValue]];
             }
              if([n isKindOfClass:[NSString class]])
             {
                 NSString *urlString = [NSString stringWithFormat:@"http://flicksbank.console360.net/images/%@/default.jpg", n];
             }
         }

    }

【讨论】:

  • 可以将 NSString 放入数组吗?!
  • @smiletony,是的,你可以放任何继承自NSObject类的对象。
【解决方案2】:

你有嵌套数组,如果你想显示所有这些数字的图像,你必须遍历两个数组。

for(NSArray* mainArray in firstArray){
   for(NSString *number in mainArray){
      NSLog(@"http://flicksbank.console360.net/images/%@/default.jpg",number);
   }
}

主数组将是您记录的对象。

【讨论】:

  • 你不能在 NSArray 中保存原语。
  • 现在它不会给我们带来麻烦,因为我们只需要它到字符串中
  • 它们是NSString 对象还是NSNumber 对象?
  • 每个对象类型的主要问题是这个人想要遍历两个数组,如果他愿意,他会这样做,他可能会更改他想要的对象类型..那将是不是问题....是吗?@smiletonny
  • 是的,这是一个问题,因为它会影响您可以向对象发送哪些消息。
猜你喜欢
  • 2011-01-02
  • 2018-12-08
  • 2012-03-17
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多