小编Dav*_*ood的帖子

如何在状态中设置UIButton背景颜色:UIControlState.Highlighted在Swift中

我可以设置按钮的背景颜色,但我无法弄清楚如何设置背景颜色 UIControlState.Highlighted.它甚至可能吗?还是我需要沿着这setBackgroundImage条路走?

uibutton ios swift xcode6

41
推荐指数
5
解决办法
6万
查看次数

在swift中实现HMAC和SHA1加密

我对Swift相对较新,而且我使用HMAC和SHA1进行加密.我找到了以下答案/sf/answers/1708806571/但我无法弄清楚如何正确实现这一点.任何帮助都会很棒.

ios swift xcode6

16
推荐指数
5
解决办法
2万
查看次数

通过Swift 4中的JSONDecoder传递数字时失去精度

我正在向我们的服务器发送一些JSON数据,并且在使用新的Swift 4 JSONDecoder编码某些值时出现问题.以这个游乐场为例:

import Foundation

struct QuantyTest: Codable {
    var name: String
    var value: Float
}

let json = """
[
    {
        "name": "Length",
        "value": 9.87
    },
    {
        "name": "Width",
        "value": 9.95
    }
]
""".data(using: .utf8)!

let decoder = JSONDecoder()
var size = try decoder.decode([QuantyTest].self, from: json)
let encoder = JSONEncoder()
var encodSize = try? encoder.encode(size)
print(String(data: encodSize!, encoding: .utf8)!)
Run Code Online (Sandbox Code Playgroud)

所以我首先解码JSON并打印出结果(大小).输出看起来像这样:

[{name "Length", value 9.87}, {name "Width", value 9.95}]
Run Code Online (Sandbox Code Playgroud)

一切都很好,但是当我使用Swift JSONEncoder将(大小)编码回JSON时,我得到以下输出:

[{"name":"Length","value":9.869999885559082},{"name":"Width","value":9.9499998092651367}]
Run Code Online (Sandbox Code Playgroud)

我已经尝试将值更改为十进制或双倍但我有类似的问题,十进制输出如下所示:

[{"name":"Length","value":9.869999999999997952},{"name":"Width","value":9.95}]
Run Code Online (Sandbox Code Playgroud)

并作为双重:

[{"name":"Length","value":9.8699999999999992},{"name":"Width","value":9.9499999999999993}]
Run Code Online (Sandbox Code Playgroud)

我知道浮点数,双精度数或十进制数不是超精确的,但我不明白为什么输出窗口在使用float时显示正确的值,直到我通过JSONEncoder.我不确定如何绕过这一个,任何建议将不胜感激.

json ios swift4

8
推荐指数
0
解决办法
1292
查看次数

标签 统计

ios ×3

swift ×2

xcode6 ×2

json ×1

swift4 ×1

uibutton ×1