小编Aru*_*r P的帖子

通用参数无法快速推断

我为不同的项目编写了一个Array扩展

extension Array {
    func distinct<T: Equatable>() -> [T]{
        var unique = [T]()
        for i in self{
            if let item = i as? T {
                if !unique.contains(item){
                    unique.append(item)
                }
            }
        }
        return unique
    }
}
Run Code Online (Sandbox Code Playgroud)

并尝试调用此函数,如下所示

let words = ["pen", "Book", "pencile", "paper", "Pin", "Colour Pencile", "Marker"]
words.distinct()
Run Code Online (Sandbox Code Playgroud)

但它给出错误"通用参数'T'无法推断迅速"

generics ios swift

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

swift中的'advance'关键字?

let word = "sample string"

let firstLetter = Character(word.substringToIndex(advance(word.startIndex,1)).uppercaseString)
Run Code Online (Sandbox Code Playgroud)

我从教程中得到了上面的例子.任何人都可以通过"advance"知道它们的含义以及"substringToIndex"和"substringWithRange"之间的区别.

ios swift

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

标签 统计

ios ×2

swift ×2

generics ×1