我一直在试图使用PromiseKit,而我坚持拒绝承诺。

承诺拒绝通过调用具有NSError作为参数的拒绝功能来完成。

func getAPromise() -> Promise<Bool> {
    return Promise<Bool> { fulfiller,rejecter in
        let diceRoll = Int(arc4random_uniform(7))
        if diceRoll < 4 {
             // rejecter(?) how do I call this rejection correctly ?
        } else {
             fulfiller(true)
        }
}

简单地得到一个NSError的实例会帮助我。

编辑:

NSError("somedomain",123,[])

抱怨“额外征召”。

您在此代码中有两个问题:
NSError("somedomain",[])

> NSError的所有初始化参数都有external name。
>空字典文字是[:],而不是[]。 []是为Array

尝试:

NSError(domain: "somedomain",code: 123,userInfo: [:])

或者,如果您没有任何userInfo,您可能希望通过为零。

NSError(domain: "somedomain",userInfo: nil)

在Swift中创建一个新的NSError(拒绝PromiseKit中的Promise)的更多相关文章

  1. ios – Swift:不符合协议NSCoding

    我正在尝试在swift中使用NSCoding协议,但是似乎无法弄清楚为什么编译器会抱怨当我实现所需的方法时它“不符合协议NSCoding”:这是一个bug还是我只是想念一些东西?解决方法在报告导航器中的详细编译器消息中可以看到,您的方法未正确声明:此外,initWithCoder方法必须标记为必需:在Swift3中,所需的方法是

  2. 探索:测试 Swift 中的 ErrorType

    最后我们以一个说明样例、以及一些有用的资源结尾如何实现ErrorType协议如果跳转到Swift标准库中ErrorType定义的位置,我们就会发现它并没有包含明显的要求。我们最初的想法可能是,也许ErrorType是一种特殊类型,编译器以特殊的方式来对它进行支持,而且只能用Swift原生的枚举来实现。更新:从Xcode7beta5版本开始,我们可能不需要花费其他精力就可以为结构体和类实现ErrorType协议。允许结构体和类实现ErrorType协议。通过LLDB进一步调查发现这个协议有一些隐藏的要求。

  3. swift – 无法在Simulator中运行应用程序:运行时遇到错误(Domain = LaunchServicesError,Code = 0)

    我在配置文件出现问题后无法在模拟器中运行我的应用程序。我在xcode6–beta4中做快速编码。这是很好的在证书的配置文件的麻烦。我已经尝试清洗构建。检查命令行到xCode6-beta4运行。检查构建部署,设置为7.0,所以swift将不会抱怨兼容性修复配置中的错误。请建议其他方法来修复此错误。谢谢如果您的扩展程序的捆绑ID不带应用的捆绑ID,则会发生这种情况。

  4. 在Swift中创建一个新的NSError(拒绝PromiseKit中的Promise)

    我一直在试图使用PromiseKit,而我坚持拒绝承诺。承诺拒绝通过调用具有NSError作为参数的拒绝功能来完成。简单地得到一个NSError的实例会帮助我。您在此代码中有两个问题:>NSError的所有初始化参数都有externalname。>空字典文字是[:],而不是[]。[]是为Array尝试:或者,如果您没有任何userInfo,您可能希望通过为零。

  5. swift – Alamofire请求cookies

    我是初学者,我无法弄清楚如何使用Alamofire制作.GET请求.我设法用其他Web服务(登录)执行此操作,因为它需要参数参数:然后:在回复标题中我得到一些信息:它的类型为[NSObject:AnyObject]如何将该信息存储在NSURLDefaults中并准备有效的请求参数?我需要所有字段还是只需要Set-Cookie?

  6. Laravel路由研究之domain解决多域名问题的方法示例

    这篇文章主要介绍了Laravel 路由研究之domain解决多域名问题的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. Node.js Domain 模块实例详解

    这篇文章主要介绍了Node.js Domain 模块实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. Windows – 如何编程检查“密码必须满足复杂性要求”组策略设置?

    窗口有五个与密码安全相关的策略设置:>强制密码历史记录>最大密码年龄>最小密码年龄>最小密码长度>密码必须满足复杂性要求>使用可逆加密存储密码我知道如何使用NetUserModalsGet读取mostoftheseitems.但它不支持检查密码复杂性要求是否启用:>强制密码历史记录:usrmod0_password_hist_len>最大密码年龄:usrmod0_max_passwd_age>最小

  9. centos – 更改Linux和Active Directory的登录格式

    在CentOS上,我运行领域列表并查看登录格式:%U@mydomain.local我想将登录格式:%U@mydomain.local更改为登录格式:%U我该怎么做呢?

  10. ubuntu – 将usb加密狗连接到KVM VM

    这可能是访问权限的问题.您的QEMU守护程序不允许访问USB设备.尝试:或者您的KVM运行的用户.这应该可以解决问题.

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部