小编aha*_*lls的帖子

无法在XCTest中从UIStoryboard转换自定义UIViewController

在Swift,Xcode6-Beta5中,我试图对我的"ViewController"进行单元测试,而不是一个非常有创意的名字.

从查看其他回复,我想我没有正确配置我的"测试"目标.

测试代码失败:

  func testItShouldLoadFromStoryboard() {

    var storyBoard: UIStoryboard?
    var anyVC: AnyObject?
    var viewController: ViewController?
    var uiViewController: UIViewController?

    storyBoard = UIStoryboard(name:"Main", bundle: nil)
    XCTAssert(storyBoard != nil, "Test Not Configured Properly")

    anyVC = storyBoard?.instantiateInitialViewController()
    viewController = anyVC  as? ViewController
    // Failing Assertion 
    XCTAssert(viewController != nil, "Test Not Configured Properly")

    uiViewController = anyVC as? UIViewController
    XCTAssert(uiViewController != nil, "Test Not Configured Properly")

  }
Run Code Online (Sandbox Code Playgroud)

我可以用以下几行强制演员:

anyVC = storyBoard?.instantiateInitialViewController()
viewController = (anyVC != nil) ? (anyVC  as ViewController) : nil
Run Code Online (Sandbox Code Playgroud)

但这导致了以下崩溃:

libswiftCore.dylib`swift_dynamicCastClassUnconditional:
0x10724f5a0:  pushq …
Run Code Online (Sandbox Code Playgroud)

xctest swift

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

在Swift中,我想将两个序列"连接"到一系列元组中

我想加入两个(或更多)序列,然后创建一系列元组.第一个元组包含每个序列的第一个元素,第二个元组包含第二个元素等等......下面是一个示例函数,它接受两个数组并创建第三个元组数组.然后我可以使用此序列来处理map(),filter()和reduce()函数.

我的例子有效,但缺乏多种方式.它适用于不适用于所有序列的数组,当第一个序列用完元素时,它会停止生成元组.我希望nils能够在元组中找到无法提供元素的短序列.它只适用于两个数组,我希望它适用于任意数量的序列,

部分解决方案会有所帮助.我是一个功能性编程新手,所以这个功能的正确名称也将受到赞赏.也许它已经在switfz库中我只知道它叫什么.我选择了"join",因为它大致类似于SQL"join",它也构建了元组(aka行)

func join<T> (s1: Array<T>, s2: Array<T>) -> Array<(T,T)> {

var g1 = s1.generate();
var g2 = s2.generate();

var result:Array<(T,T)> = []

while let e1 = g1.next() {

    if let e2 = g2.next() {
        result.append((e1,e2))
    }
}
return result
}


class Hamming {
    class func compute(input: String, against: String) -> Int {
        return join(Array(input),Array(against)).reduce(0){ return ($1.0 != $1.1) ? $0 + 1 : $0 }
    }
}

Hamming.compute("abcde","abcdf")  // 1
Run Code Online (Sandbox Code Playgroud)

arrays join sequence swift

12
推荐指数
2
解决办法
6234
查看次数

标签 统计

swift ×2

arrays ×1

join ×1

sequence ×1

xctest ×1