小编Ade*_*ine的帖子

在swift词典中找到一个包含字符串的键

我有一[String:String]本字典.我想获得与包含字符串"S"的任何键相关联的值.订单无关紧要.

这很简单:只需获取所有键,迭代,返回第一个匹配条件.

但是,我想用一种快速优雅的方法来做到这一点.使用a filtermap函数的东西.这就是我迷路的地方......

dictionary swift

8
推荐指数
3
解决办法
4008
查看次数

swift inout参数是变量还是指针?

我觉得在以下代码中使用swift inout参数有点丢失:

var shouldContinue: Bool = true

func doSomeWork1(shouldContinue: inout Bool)
{
    while shouldContinue
    {
        // ERROR: the compiler wants: doSomeWork2(shouldContinue: &shouldContinue)
        doSomeWork2(shouldContinue: shouldContinue)
    }
}

func doSomeWork2(shouldContinue: inout Bool)
{
    while shouldContinue
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器需要doSomeWork2(shouldContinue: &shouldContinue)而不是the compiler wants: doSomeWork2(shouldContinue: shouldContinue)?是不是shouldContinuedoSomeWork1()范围内的指针???

swift inout

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

Swift Date文字/日期从字符串初始化

我需要将日期初始化为已知的固定时间点。Swift缺乏日期字面量,我尝试过:

extension DateFormatter
{
    convenience init(_ format: String)
    {
        self.init()
        self.dateFormat = format
    }
}

extension Date
{
    init?(_ yyyyMMdd: String)
    {
        let formatter = DateFormatter("yyyyMMdd")
        self = formatter.date(from: yyyyMMdd)
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法编写self = ...或不能return formatter.date...作为初始化程序的一部分。

但是,我非常想写:

let date = Date("20120721")
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

date literals swift

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

标签 统计

swift ×3

date ×1

dictionary ×1

inout ×1

literals ×1