相关疑难解决方法(0)

如何在Swift中测试变量的类?

我想检查数组的元素是否是Swift中UILabel的子类:

import UIKit

var u1 = UILabel()
u1.text="hello"
var u2 = UIView(frame: CGRectMake(0, 0, 200, 20))
var u3 = UITableView(frame: CGRectMake(0, 20, 200, 80))

var myArray = [u1, u2, u3]

var onlyUILabels = myArray.filter({"what to put here?"})
Run Code Online (Sandbox Code Playgroud)

没有桥接到目标c.

ios swift

26
推荐指数
2
解决办法
2万
查看次数

在Swift switch语句中使用`let`编译错误

在Swift中,您可以使用范围运算符获取一个数组,如下所示:

let list: String[] = ["first", "middle", "last"]
let cdr = list[1..list.endIndex]
assert(cdr == ["middle", "last"])
Run Code Online (Sandbox Code Playgroud)

我试图在一个带有String[]参数的递归函数中做同样的事情,但没有任何运气:

func last(xs: String[]) -> String? {
    switch xs {
    case let (singleItemList) where singleItemList.endIndex == 1:
        return singleItemList[0]
    case let(multiItemList) where multiItemList.endIndex > 1:
        let cdr: String[] = multiItemList[1..multiItemList.endIndex] // compilation error!
        return last(cdr)
    default:
        return nil // empty list
    }
}


last(["first", "middle", "last"])
last(["last"])
last([])
Run Code Online (Sandbox Code Playgroud)

中间案例语句不编译.它失败并出现此错误:

Playground execution failed: error: <REPL>:14:29: error: could not find an overload for 'subscript' …
Run Code Online (Sandbox Code Playgroud)

swift

2
推荐指数
1
解决办法
922
查看次数

标签 统计

swift ×2

ios ×1