iOS编程学习二十二(MapKit, CoreData和CloudKit)
来源:互联网 发布:mac os系统特点 编辑:程序博客网 时间:2024/05/19 12:14
今天用一个小时快速阅读了这本iOS开发的入门书,这本书据说很受欢迎。
Simon NG 的《AppCoda Beginning iOS 8 Programming with Swift》
这个作者水平非常高,写的很不错,强力推荐。因为质量很高,所以定价好像也不便宜。
虽然是入门,但是还是有很多知识点值得再巩固学习、补漏、加强。
比如MapKit、CoreData、CloudKit这几个章节,可以好好看看,还是收获颇丰的。
像Map,data,cloud都是几个框架,主要学习它们API的调用,这些功能非常实用,但是也不难。
Map Kit
通过一个地址来查找位置
let geoCoder = CLGeocoder()geoCoder.geocodeAddressString("524 Ct St, Brooklyn, NY 11231", completionHandler: { placemarks,error in
// Process the placemark
})
如果要增加一个提示:
let annotation = MKPointAnnotation() annotation.title = "Times Square" annotation.coordinate = placemark.location.coordinate
self.mapView.showAnnotations([annotation], animated: true) self.mapView.selectAnnotation(annotation, animated: true)
Core Data
Managed Object Context
在保存到数据库之前,主要是和这个Context打交道。
Persistent Store Coordinator
不同的数据库都可以,它来提供了具体功能的实现。
Managed Object Model
对象模型,数据类型,文件格式.xcdatamodeld
保存一个对象的示例:
if let managedObjectContext = (UIApplication.sharedApplication().delegate asAppDelegate).managedObjectContext {
restaurant = NSEntityDescription.insertNewObjectForEntityForName("Restaurant", inManagedObjectContext: managedObjectContext) as Restaurant
restaurant.name = nameTextField.text restaurant.type = typeTextField.text restaurant.location = locationTextField.text restaurant.image = UIImagePNGRepresentation(imageView.image) restaurant.isVisited = isVisited
var e: NSError? if managedObjectContext.save(&e) != true {
println("insert error: \(e!.localizedDescription)")
return
} }
CloudKit
Containers和Databases是最基础的对象。
CKContainer, CKDatabase
Record Zone保存的地方, CKRecord保存的记录
CloudKit提供了两种操作数据的API:
convenience API和operational API
从cloud database抓取数据:
let cloudContainer = CKContainer.defaultContainer()let publicDatabase = CKContainer.defaultContainer().publicCloudDatabaselet predicate = NSPredicate(value: true)let query = CKQuery(recordType: "Restaurant", predicate: predicate)publicDatabase.performQuery(query, inZoneWithID: nil, completionHandler: {
results, error in// Process the records})
在第22章看到了Jack Ma的名字。。。
阅读全文
0 0
- iOS编程学习二十二(MapKit, CoreData和CloudKit)
- IOS学习之十二:Core Location定位和MapKit视图使用
- IOS学习之十二:Core Location定位和MapKit视图使用
- iOS学习笔记 地图(二)MapKit框架
- iOS编程学习十二
- coredata学习总结(十二)
- MapKit的学习二
- ios MapKit学习笔记
- IOS MapKit学习笔记
- IOS MapKit学习笔记
- iOS学习笔记20-地图(二)MapKit框架
- IOS学习高级课程(二)coredata
- IOS学习之Core Location定位和MapKit视图使用
- iOS 9 学习系列: MapKit
- iOS CoreLocation和MapKit详解
- iOS云存储:CloudKit
- iOS云存储:CloudKit
- CoreData 学习(二)
- 分布式与集群的区别是什么?
- spring中的属性注入
- 【pytorch源码赏析】Dataset in pytorch
- spring3.2.5框架的jar包+beans.xml的约束
- 关于数据仓库不得不说的事儿
- iOS编程学习二十二(MapKit, CoreData和CloudKit)
- Java集合框架的继承关系图
- Hadoop简介-yellowcong
- 数组的常用方法
- WIN10下安装使用反编译工具APKTOOL
- usb枚举过程简介
- 关于《programming collective intelligence》(集体智慧编程)的del.icio.us API无法访问
- Codeforces Round #428 (Div. 2) Journey(数学期望+dfs)
- 使用Pandas处理大型数据—节省90%内存的建议