草庐IT

swift-block

全部标签

ios - 为什么在使用 Quick 进行单元测试时多次调用 before- 和 afterEach block ?

我用一些示例组编写了一个测试用例,包括beforeEach和afterEach。我希望每个beforeEach和afterEach都会为每个it调用一次。唉,对于单个it,beforeEach和afterEach被调用了多次。我查看了一些文档(即Quick自己的文档和http://jasmine.github.io/2.1/introduction.html),但这些对我的事业没有帮助。这是一个演示这一点的小片段:类CheckerTests:QuickSpec{overridefuncspec(){describe("something"){beforeEach{tLog.info("

Swift reduce 函数

reduceSwift中数组的reduce方法用于做序列元素的累加,如数组元素的累加,函数原型:@inlinablepublicfuncreduce(_initialResult:Result,_nextPartialResult:(Result,Element)throws->Result)rethrows->Result参数:initialResult:初始值,Thevaluetouseastheinitialaccumulatingvalue.initialResultispassedtonextPartialResultthefirsttimetheclosureisexecuted.

ios - 带有静态库的私有(private) pod 以及 swift pod

我正在为一个iOS开发团队(在私有(private)存储库上)开发pod。我的低级C/Obj-C核心pod包含一个带有一些header的静态库,并用作其他pod的依赖项(使用--use-libraries推送)。现在iOS团队想要集成Swiftpod,他们必须在项目的Podfile中添加use_framework!选项。当然,他们在podinstall期间得到了以下错误:The'XXX'targethastransitivedependenciesthatincludestaticbinaries我在网上花了半天时间寻找一种方法让我的pod与use_framework!选项兼容,但没有

ios - 无法实现 JSQMessagesViewController Swift 3 所需的方法

我正在尝试在我的Swift3项目中使用JSQMessagesVC。它是通过cocoapod安装的,一切看起来都很好。问题是我无法实现collectionView方法并且不断出现错误。谁能帮帮我?importUIKitimportJSQMessagesViewControllerclassChatViewController:JSQMessagesViewController{varmessages=[JSQMessage]()overridefuncviewDidLoad(){super.viewDidLoad()collectionView!.delegate=selfcollect

ios - 通过一个容器 View 传递多个 View Controller - Xcode 8,Swift 3

我只是想在按下按钮时通过容器View传递一个ViewController。我的导航也在容器View中并水平滚动(如停靠栏)这里有两张图片来说明我正在尝试做的事情。ContainerView可以做到这一点吗? 最佳答案 想通了!!我删除了蓝色的ContainerView并将其换成ScrollView这是任何对此感兴趣的人的代码。仍在努力使ContainerView的高度根据内容动态变化。本教程帮助很大:Tutorial主视图Controller:varcontainer:ContainerViewController!override

Swift 中风味各异的依赖注入

在之前的文章中,我们看了一些使用依赖注入的不同方法,以实现Swift应用中更多的解耦和可测试架构。例如,"在Swift中使用工厂的依赖注入"中把依赖注入和工厂模式结合起来,以及"在Swift中避免使用单利"中利用依赖注入取代单利。到目前为止,我的大部分文章和例子都使用了基于初始化器的依赖注入。然而,就像大多数编程技术一样,依赖注入有多种“风味(Flavors)”,每一种都有自己的优点和缺点。本周,让我们来看看三种不同方式的依赖注入,以及它们如何在Swift中使用。基于初始化器让我们先快速回顾一下最常见的依赖注入方式——基于初始化器的依赖注入,即对象在被初始化时应该被赋予它所需要的依赖关系。这种

ios - NSURLConnection sendAsynchronousRequest 完成 block 是否在主线程上执行?

我想知道当我使用NSURLConnectionsendAsynchronousRequest时,是否在主线程上调用了completionHandlerblock。我主要关心的是我是否需要自己在主线程上调度UIKit调用。NSURLConnection的文档没有提到这个细节,除非我错过了。我分析了我的代码,没有内存泄漏,这表明该block是在主线程上执行的。有文档给出明确的答案吗?[NSURLConnectionsendAsynchronousRequest:requestqueue:[NSOperationQueuemainQueue]completionHandler:^(NSURL

ios - 使用 dispatch_block 崩溃

我一直在努力了解这次崩溃背后的原因,以便更多地了解block的行为方式。我有一个非常简单的类来触发这次崩溃。@implementationBlockCrashTest-(void)doSomething{dispatch_queue_tqueue=dispatch_queue_create("com.queue.test",DISPATCH_QUEUE_SERIAL);__weaktypeof(self)weakSelf=self;dispatch_block_tblock=^{__strongtypeof(weakSelf)strongSelf=weakSelf;dispatch_g

ios - String to Double 转换在 Swift 中失去精度

我想将一个字符串转换为两倍并保持相同的值:letmyStr="2.40"letnumberFormatter=NSNumberFormatter()numberFormatter.locale=NSLocale(localeIdentifier:"fr_FR")letmyDouble=numberFormatter.numberFromString(myStr)?.doubleValue??0.0myDouble现在是Double?2.3999999999999999那么如何将“2.40”转换为2.40作为Double??更新:即使转换后四舍五入似乎也不起作用我不想打印,我想计算,重要

ios - 如何在 Swift 2 中使用可选绑定(bind)

我是Swift的新手,所以我决定不如学习Swift2。到目前为止,除了以下代码片段外,一切对我来说都是有意义的。希望有人能为我阐明这一点。//:Playground-noun:aplacewherepeoplecanplayimportUIKit//WorksletpossibleNumber="2"ifletactualNumber=Int(possibleNumber){print("\'\(possibleNumber)\'hasanintegervalueof\(actualNumber)")}else{print("couldnotbeconvertedtointeger")