小编Dav*_*bel的帖子

我怎么看我正在使用哪个版本的Swift?

我刚刚在Xcode中创建了一个新的Swift项目.我想知道它正在使用哪个版本的Swift.

如何在Xcode或终端中看到我在项目中使用的Swift版本?

terminal xcode swift

515
推荐指数
10
解决办法
17万
查看次数

Swift的守卫关键词

Swift 2引入了guard关键字,可用于确保准备好配置各种数据.我在这个网站上看到的一个例子演示了一个submitTapped函数:

func submitTapped() {
    guard username.text.characters.count > 0 else {
        return
    }

    print("All good")
}
Run Code Online (Sandbox Code Playgroud)

我想知道使用guard是否与使用if条件的旧式方式有所不同.它是否会带来好处,而使用简单的支票是无法获得的?

swift2 guard-statement

190
推荐指数
8
解决办法
11万
查看次数

Angular2-all.umd.js和angular2.js之间有什么区别?

目前,Angular 2处于第13个测试阶段.当我查看https://code.angularjs.org/2.0.0-beta.13/时,我可以看到有两个不同版本的Angular2:

  • angular2-all.umd.js
  • angular2.js

这两者有什么区别?并且看起来angular2.js没有angular2.umd.js版本,为什么会这样?

javascript angular

7
推荐指数
1
解决办法
2115
查看次数

如何在功能之外使用防护?

是否可以在guard函数外部使用?

以下引发了一个需要使用返回或中断的错误,但在这种情况下是不可能的.

var var1 = String?()
guard let validVar = var1 else {
    print("not nil")
}
Run Code Online (Sandbox Code Playgroud)

swift2 guard-statement

6
推荐指数
1
解决办法
1756
查看次数

在Swift 2中设置多个类属性时保护

做这样的事情是微不足道的:

class Collection {
    init(json: [String: AnyObject]){
        guard let id = json["id"] as? Int, name = json["name"] as? String else {
            print("Oh noes, bad JSON!")
            return
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在那种情况下,我们let用来初始化局部变量.但是,将其修改为使用类属性会导致它失败:

class Collection {

    let id: Int
    let name: String

    init(json: [String: AnyObject]){
        guard id = json["id"] as? Int, name = json["name"] as? String else {
            print("Oh noes, bad JSON!")
            return
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

它抱怨letvar需要使用,但显然情况并非如此.在Swift 2中执行此操作的正确方法是什么?

swift swift2 guard-statement

5
推荐指数
1
解决办法
2007
查看次数

为什么不守护创建unwrapped var?

为什么我需要unwrapped在最终的return语句中解包变量?不是警卫应该处理这个吗?

func test() -> String {
    let fmt = NSNumberFormatter()
    let myValue:Double? = 9.50
    guard let unwrapped = myValue else {
        return ""
    }
    return fmt.stringFromNumber(unwrapped)
}
Run Code Online (Sandbox Code Playgroud)

错误:可选类型'String?'的值 没有打开; 你的意思是用'!' 要么 '?'?return fmt.stringFromNumber(unwrapped)

ios forced-unwrapping swift2 guard-statement

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

如何在swift中使用guard而不是if

如何在swift中使用'guard'.我已经阅读了很多关于'guard'的文章.但是我没有清楚地了解这个.请给我一个明确的想法.请给我一些关于'if'语句的示例输出.

if firstName != "" 
{
   if lastName != "" 
   {
      if address != "" 
      {
        // do great code
      }
   }
 }
Run Code Online (Sandbox Code Playgroud)

if-statement swift swift2 guard-statement

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

Swift 2 可选的字符串保护

我正在处理 swift 2.0 中的一个问题

我从 API 获取一个 json 文件,并尝试从中解开一些字符串。

有时这个 json 会给我一个带有场地街道名称的字符串,但有时不会。所以当我尝试这个时

var street = arrRes[indexPath.row]["venueLocation"]!["street"] as! String 
Run Code Online (Sandbox Code Playgroud)

它总是让我的应用程序崩溃,说它为零。当我评论它时,我的应用程序运行完美,但它不显示街道。知道如何在没有任何问题的情况下解开字符串nil吗?

如果尝试过这段代码

var street = arrRes[indexPath.row]["venueLocation"]!["street"] as! String 

if street == "" {
   street = "n/a"
}
Run Code Online (Sandbox Code Playgroud)

但它也失败了。

swift2 guard-statement

0
推荐指数
1
解决办法
306
查看次数