我的代码在文档文件夹中获取文件名有什么问题?
func listFilesFromDocumentsFolder() -> [NSString]?{
var theError = NSErrorPointer()
let dirs = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String]
if dirs != nil {
let dir = dirs![0] as NSString
let fileList = NSFileManager.defaultManager().contentsOfDirectoryAtPath(dir, error: theError) as [NSString]
return fileList
}else{
return nil
}
}
Run Code Online (Sandbox Code Playgroud)
我以为我正确阅读了文档,我非常确定文档文件夹中的内容,但"fileList"没有显示任何内容?"dir"显示文件夹的路径.
我有一个像这样的数组:
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)
到目前为止看起来不错.
怎么洗牌?或者有没有人有更好/更优雅的解决方案?