Swift中的CharacterAtIndex

时间:2015-02-18 19:28:06

标签: objective-c arrays swift

我正在尝试使用不同的简单Objective-c项目来回移动并将它们移植到swift。

在objective-c中,我有以下循环。

NSCountedSet *firstSet = [[NSCountedSet alloc] init];
NSCountedSet *secondSet = [[NSCountedSet alloc] init];
for(int i = 0; i < firstString.length; i++) {
    [firstSet addObject:@([firstString characterAtIndex:i])];
    [secondSet addObject:@([theSecondString characterAtIndex:i])];
}

我试图将其移植到swift,但无法弄清楚addObject方法

  let firstSet = NSCountedSet()
  let secondSet = NSCountedSet()
  let lengthOfFirstString = firstString.utf16Count  
  for var i = 0; i < lengthOfFirstString; i++ {

  }

对此的帮助将不胜感激

2 个答案:

答案 0 :(得分:4)

不漂亮,但这里有:

let firstSet = NSCountedSet()
let secondSet = NSCountedSet()
let lengthOfFirstString = firstString.utf16Count
for var i = 0; i < lengthOfFirstString; i++ {
    firstString[advance(firstString.startIndex, i)]
    theSecondString[advance(theSecondString.startIndex, i)]
}

Swift希望在未来版本中为子串提供更好的功能。

答案 1 :(得分:-1)

请尝试以下代码:

let firstSet = NSCountedSet()
let secondSet = NSCountedSet()
let lengthOfFirstString = firstString.utf16Count
for var i = 0; i < lengthOfFirstString; i++ {
    firstSet.addObject(@[firstString[i]])
    secondSet.addObject(@[secondString[i]])
}