相关疑难解决方法(0)

如何将字符串拆分为相等长度的子字符串

所以

split("There are fourty-eight characters in this string", 20)
Run Code Online (Sandbox Code Playgroud)

应该回来

["There are fourty-eig", "ht characters in thi","s string"]
Run Code Online (Sandbox Code Playgroud)

如果我使currentIndex = string.startIndex,然后尝试进一步提前()它比string.endIndex,我得到"致命错误:不能增加endIndex"之前我检查我的currentIndex <string.endIndex所以下面的代码没有'工作

var string = "12345"
var currentIndex = string.startIndex
currentIndex = advance(currentIndex, 6)
if currentIndex > string.endIndex {currentIndex = string.endIndex}
Run Code Online (Sandbox Code Playgroud)

string swift swift2

17
推荐指数
6
解决办法
8495
查看次数

从Swift中的数组中获取随机元素

我有一个像这样的数组:

var names: String = [ "Peter", "Steve", "Max", "Sandra", "Roman", "Julia" ]
Run Code Online (Sandbox Code Playgroud)

我想从该数组中获取3个随机元素.我是从C#来的,但是我很快就不知道从哪里开始.我想我应该首先将阵列洗牌,然后从中挑选前3个项目?

我尝试使用以下扩展名对其进行随机播放:

extension Array
{
    mutating func shuffle()
    {
        for _ in 0..<10
        {
            sort { (_,_) in arc4random() < arc4random() }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但它然后说"'()'在"shuffle()"的位置不能转换为'[Int]'".

为了挑选我使用的一些元素:

var randomPicks = names[0..<4];
Run Code Online (Sandbox Code Playgroud)

到目前为止看起来不错.

怎么洗牌?或者有没有人有更好/更优雅的解决方案?

arrays random shuffle swift

13
推荐指数
3
解决办法
1万
查看次数

将String拆分为具有特定长度的组

如何将StringSwift中的给定分成给定长度的组,从右到左阅读?

例如,我有串1234567893.的和组的长度字符串应该被分为3组:123,456,789.字符串1234567将分为1,234,567

那么,你能在Swift中编写一些不错的代码吗:

func splitedString(string: String, length: Int) -> [String] {

}
Run Code Online (Sandbox Code Playgroud)

BTW试过功能split(),但据我所知它只能找到一些符号

string split divide swift

7
推荐指数
2
解决办法
3440
查看次数

快速将一维数组转换为二维数组

如果我有一个一维数组:

oneDimArray = [1,2,3,4,5,6,7,8,9]

我已经有一个 3X3 的二维数组,其中有适当数量的插槽来适合数字

twoDimArray = [[0,0,0], [0,0,0], [0,0,0]]

...如何将 oneDimArray 数字放入 twoDimArray,例如:

[[1,2,3], [4,5,6], [7,8,9]]

?

我知道我可以用几个嵌套的 for 循环来做到这一点,但是有没有更简单、更实用的方法来做到这一点?

arrays functional-programming swift

0
推荐指数
1
解决办法
956
查看次数