Ios 在swift中扩展Set数据类型
我是个敏捷的新手。我在集合数据结构中为我的代码创建了一个新方法。仅当值不等于特定数字时,此方法才会插入到集合中Ios 在swift中扩展Set数据类型,ios,swift,set,Ios,Swift,Set,我是个敏捷的新手。我在集合数据结构中为我的代码创建了一个新方法。仅当值不等于特定数字时,此方法才会插入到集合中 extension Set { mutating func addExcludingCurrent(value: Int, currIndex: Int) { if value == currIndex { return } else { self.insert(value) // Error
extension Set {
mutating func addExcludingCurrent(value: Int, currIndex: Int) {
if value == currIndex {
return
} else {
self.insert(value) // Error
}
}
}
无法使用类型为“(Int)”的参数列表调用“insert”
。我该如何解决它。或者有没有更好的方法来完成这项任务 ASet
是一个struct
,其AssociatedType
定义为元素。因此,您可以通过插入元素而不是整数来扩展它:
extension Set {
mutating func addExcludingCurrent(value: Element, currIndex: Element) {
if value == currIndex {
return
} else {
self.insert(value)
}
}
}
var a = Set<Int>();
a.insert(3)
a.addExcludingCurrent(5,currIndex: 5)
扩展集{
mutating func addexcluding current(值:元素,电流索引:元素){
如果值==当前索引{
返回
}否则{
self.insert(值)
}
}
}
var a=Set();
a、 插入(3)
a、 加法器排除电流(5,电流指数:5)
A集合
是一个结构
,其关联类型
定义为元素
。因此,您可以通过插入元素而不是整数来扩展它:
extension Set {
mutating func addExcludingCurrent(value: Element, currIndex: Element) {
if value == currIndex {
return
} else {
self.insert(value)
}
}
}
var a = Set<Int>();
a.insert(3)
a.addExcludingCurrent(5,currIndex: 5)
扩展集{
mutating func addexcluding current(值:元素,电流索引:元素){
如果值==当前索引{
返回
}否则{
self.insert(值)
}
}
}
var a=Set();
a、 插入(3)
a、 加法器排除电流(5,电流指数:5)
试试这个:
extension Set {
mutating func addExcludingCurrent(value: Element, currIndex: SetIndex<Element>) {
if value == currIndex {
return
} else {
self.insert(value) // No more mistakes
}
}
}
所以您可以这样编写扩展:
extension Set {
mutating func addExcludingCurrent(value: Element, currIndex: Index) {
if value == currIndex {
return
} else {
self.insert(value) // No more mistakes
}
}
}
试试这个:
extension Set {
mutating func addExcludingCurrent(value: Element, currIndex: SetIndex<Element>) {
if value == currIndex {
return
} else {
self.insert(value) // No more mistakes
}
}
}
所以您可以这样编写扩展:
extension Set {
mutating func addExcludingCurrent(value: Element, currIndex: Index) {
if value == currIndex {
return
} else {
self.insert(value) // No more mistakes
}
}
}
不要使用扩展,这不是需要添加到集中的常见功能。只需使用一个方法。不要使用扩展,这不是需要添加到集合中的常见功能。只要使用一种方法。