V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
youbohe
V2EX  ›  iDev

问一下大家, ios 开发本地数据库存储如何选型?

  •  
  •   youbohe · 2020-06-05 17:08:11 +08:00 · 5161 次点击
    这是一个创建于 1630 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是薄荷记账程序员,刚了解这个项目的时候,认为很简单,一个记账工具而已,没什么难的。 但深入之后,发现它有大量的表结构,业务很复杂,涉及到云同步,离线同步,双向同步,多人共享同步,甚至还有 webdav 备份。 数据查询也多,都是复杂的 sql 语句。 感觉用 ios 的 core data 很难下手啊!

    21 条回复    2020-08-11 16:13:38 +08:00
    ydatong
        1
    ydatong  
       2020-06-05 17:17:15 +08:00 via iPhone
    可以用 sqlite
    youbohe
        2
    youbohe  
    OP
       2020-06-05 17:19:50 +08:00
    @ydatong c 语言版本的 sqlite?太原始了吧
    ydatong
        3
    ydatong  
       2020-06-05 17:21:45 +08:00 via iPhone
    OC Swift 都有 sqlite 的封装库可以拿过来用的,github 上搜一下
    youbohe
        4
    youbohe  
    OP
       2020-06-05 17:26:41 +08:00
    @ydatong 谢谢啦!
    damngood
        5
    damngood  
       2020-06-05 17:50:23 +08:00
    Sqlite.swift 或者 GRDB 都不错吧
    MrStark
        6
    MrStark  
       2020-06-05 17:56:45 +08:00
    看看微信的 WCDB 合不合适
    finab
        7
    finab  
       2020-06-05 17:58:22 +08:00
    可以试试 Realm,是全平台的

    我甚至找到了一个自动用 iCloud 同步 Realm 的库
    https://github.com/caiyue1993/IceCream
    youbohe
        8
    youbohe  
    OP
       2020-06-05 18:16:20 +08:00
    @damngood 嗯 打算将 sqlite 封装一下的,swift 封装的好像只是语言转换,使用起来也比较原始
    youbohe
        9
    youbohe  
    OP
       2020-06-05 18:17:55 +08:00
    @finab 谢谢你 我研究一下 主要需要双向同步,有逻辑控制。
    youbohe
        10
    youbohe  
    OP
       2020-06-05 18:18:32 +08:00
    @MrStark wcdb 是封装 core data 的吧
    ipadpro4k
        11
    ipadpro4k  
       2020-06-05 18:23:21 +08:00 via iPhone
    搭车一问,如果本地记录有几十万条或者上百万条,能 icloud 同步吗,icloud 有没有大小限制或者数目限制
    66450146
        12
    66450146  
       2020-06-06 05:08:01 +08:00
    要么 sqlite 要么 core data,其他的不确定性太大

    不要做任何一个第三方库的最大的用户
    damngood
        13
    damngood  
       2020-06-06 09:05:30 +08:00 via iPhone
    @ipadpro4k icloud 应该没有记录条数限制.
    只是对每次操作的记录条数有限制.
    而且对平均用户流量好像有限制,不过一般不滥用的话是没问题的. 记得以前是大概平均 50m 每用户吧

    用户百万条记录这个量有点多吧.
    youbohe
        14
    youbohe  
    OP
       2020-06-06 09:07:15 +08:00
    @ipadpro4k 兄弟 你是什么类型业务 本地存百万条记录有点多啊 客户端都是缓存点数据吧
    tanranran
        15
    tanranran  
       2020-06-06 09:26:56 +08:00
    sqlite
    MrStark
        16
    MrStark  
       2020-06-06 10:21:23 +08:00
    @youbohe 不是啊,wcdb 是跨平台的,怎么可能是封装的 core data 。
    MikeFeng
        17
    MikeFeng  
       2020-06-06 21:28:28 +08:00
    sqlite 至少你换语言的时候不会很狼狈
    youbohe
        18
    youbohe  
    OP
       2020-06-08 10:55:59 +08:00
    @MikeFeng 是的 sqlite 跨平台
    iOSSer
        19
    iOSSer  
       2020-06-08 16:59:13 +08:00
    MagicalRecord 或者 Realm 是最佳选择
    youbohe
        20
    youbohe  
    OP
       2020-06-08 17:24:23 +08:00
    @iOSSer 人家说 realm bug 多
    arnoldxiao
        21
    arnoldxiao  
       2020-08-11 16:13:38 +08:00
    FMDB
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5395 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:34 · PVG 11:34 · LAX 19:34 · JFK 22:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.