开始学习 iOS 开发,请问大家使用什么方案完成数据库的 CRUD 操作 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Breacher
V2EX    程序员

开始学习 iOS 开发,请问大家使用什么方案完成数据库的 CRUD 操作

  •  
  •   Breacher 2023-05-16 07:21:05 +08:00 3602 次点击
    这是一个创建于 878 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学习的是 SwiftUI, 现在使用的是 CoreData, 感觉有点难用,于是去搜索了下有什么替代品,在 Reddit 上看到 GRDB 评价不错,有人用过吗?做 iOS 开发的各位,你们使用什么方案完成数据库的 CRUD 操作?

    第 1 条附言    2023-05-16 11:29:00 +08:00
    上班摸鱼补充一下背景信息:我是工作了几年的后端开发,学 iOS 开发是为了开发能够给自己带来工作之外的收入的 App 。
    21 条回复    2023-05-16 16:22:02 +08:00
    cssk
        1
    cssk  
       2023-05-16 07:29:23 +08:00 via iPhone
    realm ,SQLite.swift
    iamqk
        2
    iamqk  
       2023-05-16 08:49:57 +08:00
    oc 用 FMDB
    middle2000
        3
    middle2000  
       2023-05-16 09:06:56 +08:00
    49 年入国军?
    Breacher
        4
    Breacher  
    OP
       2023-05-16 09:08:56 +08:00 via iPhone
    @middle2000 怎么说?我不应该学 iOS ,而是去学 Web3, AI 吗
    anonydmer
        5
    anonydmer  
       2023-05-16 09:13:59 +08:00
    多年前 OC 年代我用的 realm ,如今就不太清楚了。
    JasonEWNL
        6
    JasonEWNL  
       2023-05-16 09:15:30 +08:00   1
    GRDB 还是太多 try 了。(

    SwiftUI 上 Realm 还是很方便的(比如把 ObservedRealmObject 对象做到类似官方 ObservedObject ,代码相似而很多读写操作自动封装起来)。可看官方对比 https://realm.io/best-ios-database/ 或者直接跟着教程 https://www.kodeco.com/32960966-realm-with-swiftui-tutorial-getting-started 简单上手体验一下。要说不满意的,还是多态的支持不够完善。
    treizeor
        7
    treizeor  
       2023-05-16 09:19:06 +08:00
    网上都是在制造焦虑,实际上根本没那么严重,我初中,一年经验,广州面了 7 家,拿了 10 个 offer ,最高 250k ,最低 150k ,250k 是外包,还有个 180k 的自研可以考虑一下,不说了,明天还要两个面试,寒冬年年有,年年都是计算机,结果计算机工资不是还是轻轻松松月入过 10w ,xdm ,有一说一,现在不学 iOS ,以后就没机会了,趁着现在的红利,狠狠的赚一笔
    viosonlee114
        8
    viosonlee114  
       2023-05-16 09:30:18 +08:00   2
    @treizeor 你这比制造焦虑还可怕
    AllenTsui
        9
    AllenTsui  
       2023-05-16 09:38:35 +08:00
    @middle2000 已经不是 49 年了,属实是建国后入国军了。
    Cloud9527
        10
    Cloud9527  
       2023-05-16 09:41:23 +08:00   1
    如果你还是学生,不建议学 IOS 了。IOS 是就业机会相对最差那一档。前端后端机会都要多很多。
    dj721xHiAvbL11n0
        11
    dj721xHiAvbL11n0  
       2023-05-16 10:01:07 +08:00
    坑位可能比较少,因为一般公司也搞不起一个 APP 的开发
    lightzh
        12
    lightzh  
       2023-05-16 10:33:19 +08:00   1
    6 年 iOS 路过。如果想要把 iOS 当作主职业,真不建议。如果是已经有其他技能,或者时间比较空闲就可以学。我现在都在搞 Flutter 了,近两年写的 Flutter ,uniapp ,vue 都比 iOS 多了。其实很喜欢 iOS 原生开发,真是唏嘘不已。
    gadore
        13
    gadore  
       2023-05-16 11:20:27 +08:00   1
    我看了很多业内 iOS 大佬这么多年摸爬滚打的经历,还是很触动的。初期,iOS 只能当作兴趣去坚持,等到孵化出来很多优秀的产品跟声量之后(这可能会持续两年、三年甚至更久),才能转换成自己的职业。又或者,你有自己的工作室,那是可以好好考虑短期变现的,例如:谜底时钟;又或者,你是非常优秀的开发者,git 日提交 10 次以上且坚持一年以上,我肯定你也可以成功的。我前年兴趣驱动开发了一个 App ,没有及时的和努力的去推广、去响应社区的话,你连开发者年费都很难赚回来。顺便一提,sqlite 呀~,跨平台,安卓和 iOS 都能用,使用也简单,文档也比较全,社区用的人也多。
    Breacher
        14
    Breacher  
    OP
       2023-05-16 12:36:49 +08:00 via iPhone
    @JasonEWNL Realm 评价不错,周末敲个 demo 体验体验
    gyt95
        15
    gyt95  
       2023-05-16 13:16:57 +08:00
    最美逆行者
    Breacher
        16
    Breacher  
    OP
       2023-05-16 13:17:17 +08:00 via iPhone
    已经身处后端开发大军,学 iOS 只是想开发
    Breacher
        17
    Breacher  
    OP
       2023-05-16 13:19:32 +08:00 via iPhone
    @AscenZ 这是副业,想开发出给自己带来的收入的产品
    Breacher
        18
    Breacher  
    OP
       2023-05-16 13:21:18 +08:00 via iPhone
    @gyt95 不至于,不至于。这是副业,目标是开发出给自己带来工作之外的收入的产品
    Breacher
        19
    Breacher  
    OP
       2023-05-16 13:44:23 +08:00   1
    @AscenZ 工作是后端开发。开始学移动端开发,也是面临选择跨平台和 Swift 的问题。后来基于以下考虑,就选了 Swift ,使用 SwiftUI 框架:
    - iOS 是个人开发者最有可能赚到钱的生态(苹果每年都说开发者的收入增长了很多),我希望给到未来的 App 用户原生的 UI 视觉和体验,个人看法是使用原生组件并照搬 iPhone 手机内置的 App 的设计,在没有设计师的参与的情况下,UI 也不至于很难看吧 Flutter 也有 Cupertino 的 widgets, 但我认为完备度应该没有原生的高,而且我碰到的 Flutter App 基本不是原生 UI ,所以没有选择 Flutter 。RN 我不太了解。
    - 我希望覆盖尽可能多的苹果平台,SwiftUI 貌似让这个变得更容易
    - 我要做的 App 只是工具 App ,但也是有竞争存在的。个人开发的产品,没有内容优势,没有底子跟用户说“爱用就用,不爱就滚”,使用原生也相对比较保险
    - 如果真的有幸需要扩展到 Android 平台和 Windows ,再学就是了
    beimenjun
        20
    beimenjun  
    PRO
       2023-05-16 14:13:11 +08:00
    GRDB 没啥问题。开发者维护的也勤快,除了名字一眼看不出和 SQLite 有啥关系外,没啥缺点。

    也算是久经考验的开源库了。

    另外乱抖机灵的 block 了。
    lightzh
        21
    lightzh  
       2023-05-16 16:22:02 +08:00
    @Breacher #19
    那这个选择没什么问题。没有一些原生基础做复杂一点 Flutter App 还是不太行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2742 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:38 PVG 22:38 LAX 07:38 JFK 10:38
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86