首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只向数组插入10个元素

只向数组插入10个元素
EN

Stack Overflow用户
提问于 2016-01-11 08:34:34
回答 3查看 324关注 0票数 4

我有一个名为Thing的结构

代码语言:javascript
复制
struct Thing {
  var name: String
  var description: String
}

以及包含100个元素的数组things = [Thing]()

现在我想要像elements.addObjectsFromArray(things.subarrayWithRange(NSMakeRange(0, 10)))这样的东西来填充我的tableView,但是

Thing没有成员addObjectsFromArray。

我知道elements.insertContentsOf(things, at: 0),但它插入了things的所有元素。

如何在所需范围内只插入10个元素?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-11 08:42:27

您可以使用范围下标获取数组的一个片段,然后追加:

代码语言:javascript
复制
// create the mutable array
var elements = [0]

// create the big array
let bigArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

// take a slice of bigArray from index 5 up to but 
// not including index 10 and append it to the mutable array
elements += bigArray[5..<10]

// elements is [0, 5, 6, 7, 8, 9]
票数 4
EN

Stack Overflow用户

发布于 2016-01-11 08:45:55

使用for循环!

别误会我的意思!我指的是C风格的循环,而不是for-in循环。当你想重复某件事很多次时,前者是有用的。

我们将首先循环通过things,但只对前10项!那我们就停下。

代码语言:javascript
复制
for var i = 0 ; i < 10 ; i++ {
    elements.append(things[i])
}

看见?很简单,不是吗?

我知道杰克·劳伦斯已经发布了另一个答案,但这是另一种方法。看看你喜不喜欢!

票数 0
EN

Stack Overflow用户

发布于 2016-01-11 09:02:09

您可以使用CollectionType函数

代码语言:javascript
复制
struct Thing {
    var name: String
    var description: String
}

let things:[Thing] = Array(count: 20, repeatedValue: Thing(name: "TestName",     description: "TestDescription"))
var elements:[Thing] = []
//subArray from 0 to 9
let subThings = things.prefix(10)
elements.appendContentsOf(subThings)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34717074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档