gpt4 book ai didi

ios - Swift 3 - 没有 'sort' 候选人产生预期的上下文结果类型 'NSMutableArray'

转载 作者:搜寻专家 更新时间:2023-11-01 06:03:23 25 4
gpt4 key购买 nike

我试图在 Swift 3.1.1 中对可变数组进行排序,但每次都出现相同的错误:没有“排序”候选者产生预期的上下文结果类型“NSMutableArray”。有没有办法按升序对可变数组(仅限 Ints)进行排序?

在我的代码中,选项中的元素被删除了。 Removed(数组)是添加被移除的元素。在代码的末尾,我尝试将已删除数组中的元素添加回选项并对其进行排序。

// set up tiles
var options = NSMutableArray()
var removed = NSMutableArray()
for i in 1...49 {
options.add(i as Int)
print("options\(options.count)")
}
for i in 1...49 {
print("i = \(i)")
options.remove(i)

let tilea: Int = options[Int(arc4random_uniform(UInt32(options.count)))] as! Int
options.remove(tilea)
let tileb: Int = options[Int(arc4random_uniform(UInt32(options.count)))] as! Int
options.remove(tileb)
removed.add([i, tilea, tileb])
print(options.count)

if options.count < 20 {
options.add(removed)
options = options.sort {
$0 < $1
}
}
}

最佳答案

如前所述,在 Swift 中你真的应该使用 Array<T> 为此(又名 [T] )而不是 NSMutableArray .例如:

var options = [Int]()

向其添加元素时,使用append (顺便说一句,您也可以删除类型转换):

options.append(i)
options.append(contentsOf: [i, j, k])

最后,当排序数组时,使用sort函数(它不返回值;数组就地排序):

options.sort()

而且您甚至不需要提供比较函数,因为整数符合 Comparable协议(protocol)。

关于ios - Swift 3 - 没有 'sort' 候选人产生预期的上下文结果类型 'NSMutableArray',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43970901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com