我有点困惑,因为什么/什么时候与expectationForNotification而不是expectingWithDescription.我无法在
swift中找到任何明确的示例,用于何时以及您使用此呼叫.
我假设它可能测试通知,但它看起来可能只是通知中心的整个addObserver()调用的更方便的包装.
有人可以简要解释一下它的作用,什么时候使用它,还有几行示例代码?
谢谢
正如您已经想象的期望值.通知是检查通知是否被提出的便利期望.
这个测试:
func testItShouldRaiseAPassNotificationV1() { let expectation = expectationWithDescription("Notification Raised") let sub = NSNotificationCenter.defaultCenter().addObserverForName("evPassed",object: nil,queue: nil) { (not) -> Void in expectation.fulfill() } NSNotificationCenter.defaultCenter().postNotificationName("evPassed",object: nil) waitForExpectationsWithTimeout(0.1,handler: nil) NSNotificationCenter.defaultCenter().removeObserver(sub) }
可以替换这个:
func testItShouldRaiseAPassNotificationV2() { expectationForNotification("evPassed",handler: nil) NSNotificationCenter.defaultCenter().postNotificationName("evPassed",handler: nil) }
你可以在这个Objc.io number中找到一个很好的解释.