小编Cil*_*las的帖子

出乎意料的是Realm文件大小很大

这个问题是关于使用两种不同的方法将对象插入Realm.我注意到第一种方法要快得多,但与第二种方法相比,尺寸结果是巨大的.两种方法之间的差异是将写入事务移到外部和for循环内部.

// Create realm file
let realm = try! Realm(fileURL: banco_url!)
Run Code Online (Sandbox Code Playgroud)

当我添加这样的对象时,Realm文件增长到75.5MB:

try! realm.write {
    for i in 1...40000 {
        let new_realm_obj = realm_obj(value: ["id" : incrementID(),
                                              "a": "123",
                                              "b": 12.12,
                                              "c": 66,
                                              "d": 13.13,
                                              "e": 0.6,
                                              "f": "01100110",
                                              "g": DateTime,
                                              "h": 3])

        realm.add(new_realm_obj)
        print(" \(i) Added")
    }
}
Run Code Online (Sandbox Code Playgroud)

当我添加这样的对象时,Realm文件只增长到5.5MB:

for i in 1...40000 {
    let new_realm_obj = realm_obj(value: ["id" : incrementID(),
                                          "a": "123",
                                          "b": 12.12,
                                          "c": 66,
                                          "d": 13.13,
                                          "e": 0.6,
                                          "f": "01100110",
                                          "g": DateTime,
                                          "h": 3]) …
Run Code Online (Sandbox Code Playgroud)

filesize realm swift

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

函数返回可选("字符串")

我有这个函数接受Double值,将其转换为货币格式并返回格式为R $的字符串:1.200,30.

func convert_Value(valor: Double) ->String {
    let formatter = NSNumberFormatter()
    formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
    formatter.locale = NSLocale(localeIdentifier: "pt_BR")
    return ("\(formatter.stringFromNumber(valor))")
}
Run Code Online (Sandbox Code Playgroud)

此函数没有声明任何可选变量,但是当我使用以下方法调用它时:

x = convert_Value(1200.30)
Run Code Online (Sandbox Code Playgroud)

它返回:

Optional("R$1.200,30")
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚我需要做什么,因为它不是可选的我不能使用惊叹号打开可选项.我试图将函数中的Double和String参数转换为Optional,然后解包,但可选的stills显示.

optional swift

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

标签 统计

swift ×2

filesize ×1

optional ×1

realm ×1