arrays - 如何删除数组数组中的 [""]?

标签 arrays swift

我正在从解析中检索多个数组并将它们存储在一个数组中。它目前正在工作,但是当我在 [indexpath.row] 应用文本时,标签是 ["cat", "dog"] 而我想要 cat,狗

 var animal: [[String]] = []
  if let displayIntake = object["Animal"] as? [String]{

                    self.animal.append(displayIntake)
                    print(self.animal)
                    //prints ["cat", "dog"]
                }

 func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell: TutorBoxCell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! BoxCell
    cell.info.text = "\(animal[indexPath.item])"
    //info is a UILabel
    //on the app the label appears ["cat", "dog"] instead I need it to be cat, dog

最佳答案

您可以在数组上使用joinWithSeparator

它将把数组元素连接为字符串,并与作为参数传递的字符串分隔。

示例:

yourArray.joinWithSeparator(", ")

给出

cat, dog

如果它是数组的数组,请使用这个:

yourArray.map { $0.joinWithSeparator(", ") }.joinWithSeparator("")

这意味着我们用“,”连接每个子数组,然后将所有内容连接到一个字符串中。

考虑到您在评论中向我展示的数组内容,适合您的组合将类似于以下示例:

let animals = [ ["dog", "cat"], ["chicken", "bat"] ]

let results = animals.map { $0.joinWithSeparator(", ") }

for content in results {
    print(content)
}

打印

dog, cat
chicken, bat

为了使示例完整:

let all = results.joinWithSeparator(" - ")

print(all)

打印

dog, cat - chicken, bat

关于arrays - 如何删除数组数组中的 [""]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999246/

相关文章:

c++ - 如何将 int* -或- float* 分配给 void* 并稍后使用结果?

javascript - 按 java 脚本数组对象分组

javascript - 使用 Jquery 比较 JSON 对象数组

ios - 限制用户可以在 Parse 上存储的图像数量

ios - 如何快速从字符串中删除特定字符或单词?

iOS - 在不知道其大小的情况下添加 View

javascript - 根据单个属性从数组中获取唯一对象

c - C 中的数组大小错误

ios - viewDidLoad() 和 viewDidAppear() 只调用一次?

ios - 如何消除 UICollectionView 的标题和单元格之间的差距?