相关疑难解决方法(0)

Swift如何按属性值对自定义对象数组进行排序

假设我们有一个名为imageFile的自定义类,该类包含两个属性.

class imageFile  {
    var fileName = String()
    var fileID = Int()
}
Run Code Online (Sandbox Code Playgroud)

很多都存储在Array中

var images : Array = []

var aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 101
images.append(aImage)

aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 202
images.append(aImage)
Run Code Online (Sandbox Code Playgroud)

问题是:如何通过'fileID'ASC或DESC对图像数组进行排序?

arrays sorting swift

474
推荐指数
16
解决办法
31万
查看次数

Swift 4:奇怪的 Double 和 Float 行为

基本上问题是在这个例子中:

let d1 = NSNumber(value: 1.4);
let d2 = d1.doubleValue;

let f1 = NSNumber(value: Float(1.4));
let f2 = d1.floatValue;
Run Code Online (Sandbox Code Playgroud)

d1 结果 1.4
d2 结果 1.3999999999999999

f1 结果 1.4
f2 结果 1.3999999999999998

有谁知道这是为什么?

我正在尝试解析 JSON 文件,例如:

{"name": "something", "version": 1.4}
Run Code Online (Sandbox Code Playgroud)

使用以下代码:

let json = try (JSONSerialization.jsonObject(with: someData) as? [String: Any])!;
let version: Double = (json["version"] as! NSNumber).doubleValue;
Run Code Online (Sandbox Code Playgroud)

或者

let version: Double = json["version"] as! Double;
Run Code Online (Sandbox Code Playgroud)

或者

let version: Double = json["version"] as! Float;
Run Code Online (Sandbox Code Playgroud)

我就是无法得到1.4 ...

四舍五入对我来说不是解决方案,因为我想将此数字写回 JSON 文件,该文件将被其他程序/语言解析,并且在文件中需要正好为 …

floating-point macos double swift4

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

标签 统计

arrays ×1

double ×1

floating-point ×1

macos ×1

sorting ×1

swift ×1

swift4 ×1