ios 开发 连接mysql_iOS 数据库实战

本文介绍了在iOS开发中连接MySQL数据库的实践方法,包括SQLite3、FMDB、CoreData、MagicalRecord和Realm等数据库选项。重点讲解了 Realm 和 MagicalRecord 的使用,包括它们的环境配置、对象模型创建、数据操作等,并提供了示例代码,帮助开发者理解如何在iOS应用中高效管理数据。
摘要由CSDN通过智能技术生成

经典的数据库服务开发库有一下几种:

CoreData 操作较为复杂, MagicalRecord 有着很多的特性,比如可以根据设置在主线程或者子线程中进行操作,方便快捷,能入榜最佳10大开源库自有其独到的地方,会使用 MagicalRecord 需要具备一定的 CoreData 相关知识,本人也只是现学现用,但深知其可以为开发带来的好处,使用数据库的朋友有着如下的一些选择.

1. SQLite3 C函数形式(本人之前做过干嵌入式开发,即使是这样也不推荐使用面向过程毫无对象概念的SQLite3,有更好的方式为什么不用呢?)

2. FMDB 对SQLite3的封装,有着对象的概念,熟悉SQ语句的朋友可以使用,但还没有做到对象与记录实时对应

3. CoreData 他做到了对象与记录实时对应关系,使用其自身的搜索体系(不用SQ语言),但其基本的操作以及配置让人望而却步

4. MagicalRecord 对 CoreData 官方的用法进行了人性化的封装,用过 CoreData 基本操作再使用 MagicalRecord 会深有体会

5. ObjectiveRecord 也是对 CoreData 的人性化封装,使用更加傻瓜,但傻瓜的代价就是牺牲了一些更强大的功能,在Github上搜索关键字即可

下边先介绍Realm

85af97322cc3

Realm.png

Realm : Realm 是一个跨平台的移动数据库引擎.Realm 并不是对 Core Data 的简单封装.

相反地, Realm 并不是基于 Core Data ,也不是基于 SQLite 所构建的。它拥有自己的数据库存储引擎,可以高效且快速地完成数据库的构建操作。

环境配置:

85af97322cc3

环境配置.png

开始使用:

@interface Dog : RLMObject

@property NSString *name;

@property NSData *picture;

@property NSInteger age;

@end

@implementation Dog

@end

RLM_ARRAY_TYPE(Dog)

@interface Person : RLMObject

@property NSString *name;

@property RLMArray *dogs;

@end

@implementation Person

@end

Dog *mydog = [[Dog alloc] init];

mydog.name = @"Rex";

mydog.age = 1;

mydog.picture = nil; // properties are nullable

NSLog(@"Name of dog: %@", mydog.name);

RLMResults *puppies = [Dog objectsWhere:@"age < 2"];

puppies.count; // => 0 because no dogs have been added to the Realm yet

RLMRealm *realm = [RLMRealm defaultRealm];

[realm transactionWithBlock:^{

[realm addObject:mydog];

}];

puppies.count; // => 1

dispatch_async(dispatch_que

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值