Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
911 views
in Technique[技术] by (71.8m points)

swift - Get object at index in Set<T>

In Swift 1.2 there is a Set object, which you can use to create a static typed Set.

I cannot find out how to get the object at a certain index. It has a subscript that allows you to do the following: mySet[setIndex].

This retrieves the object at that setIndex. But now I want to get an object from a certain Int index.

var myObject = mySet[sIndex];

But how do I create a SetIndex with a certain 'index'?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Swift 3 and newer

You can offsetBy: from .startIndex:

let mySet: Set = ["a", "b", "c", "d"]
mySet[mySet.index(mySet.startIndex, offsetBy: 2)] // -> something from the set.

Swift 2 (obsolete)

You can advancedBy() from .startIndex:

let mySet: Set = ["a", "b", "c", "d"]
mySet[mySet.startIndex.advancedBy(2)] // -> something from the set.

Swift 1.x (obsolete)

Similar to String, you have to advance() from .startIndex:

let mySet: Set = ["a", "b", "c", "d"]
mySet[advance(mySet.startIndex, 2)] // -> something from the set.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...