✎iOS云存储:CloudKit 基本使用教程 增删改查(Swi
一、从iOS8开始,苹果为开发者提供了ClouKit,可以把我们的应用程序和用户数据存储在iCloud上,上传后可以多台设备之间相互获取和更新数据,无需后台支持,但是需要是苹果设备之间。
CloudKit 是你所熟知的数据库、文件存储、用户认证系统的集合服务。有了 CloudKit 的帮助,你不需要担心这些数据库什么的,只要专注在应用开发上就好了。
二、准备和设置
(1)需要一个开发者账号,并且设置一个bundle id 包含 iCloud功能
(2)设置xcode 8.0 以上:
(3)设置模拟器,setting-iCloud 登录账号(可以是非开发者账号)
三、ViewController.swift 控制器里 增删改查 Swift 代码(上一步设置iCloud后才可模拟器编译提交):
import UIKit
import CloudKit
//创建一条记录的ID并指定一个唯一的名字,
let artworkRecordID = CKRecordID.init(recordName: "Cats")
// //创建一个记录对象
let artworkRecord = CKRecord.init(recordType: "CatsTest", recordID:artworkRecordID)
//1、创建一个容器(使用默认容器)
let myContainer = CKContainer.defaultContainer()
//2、创建数据库
let publicDatabase = myContainer.publicCloudDatabase
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//添加数据
artworkRecord["job"] = "iOS开发2"
artworkRecord["name"] = "聂小波2"
artworkRecord["address"] = "上海2"
self.fetchRecordData()
}
func creatRecord() {
//将记录保存在数据库
publicDatabase.saveRecord(artworkRecord) { (artworkRecord, error) in
if (error != nil) {
print("creatRecord failure!")
} else {
print("creatRecord success!")
}}}
func fetchRecordData() {
//在代码中获取我们保存好的内容
publicDatabase.fetchRecordWithID(artworkRecordID) { (artworkRecord, error) in
if (error != nil) {
print("selectData failure!")
} else {
print("selectData success!")
let job = artworkRecord!["job"];
let names = artworkRecord!["name"];
let address = artworkRecord!["address"];
print("查询信息:" ,"job:",job ,"names:", names ,"address:" , address)
}}}
func unpdateData() {
//修改数据
artworkRecord["name"] = "聂小波3"
//将记录保存在数据库
publicDatabase.saveRecord(artworkRecord) { (artworkRecord, error) in
if (error != nil) {
print("unpdateData failure!")
} else {
print("unpdateData success!")
}}}
func deleteRecordData() {
//将记录保存在数据库
publicDatabase.deleteRecordWithID(artworkRecordID) { (artworkRecord, error) in
if (error != nil) {
print("deleteRecord failure!")
} else {
print("deleteRecord success!")
}}}}
四、查看实时数据
进入苹果开发者iCloud数据库网页地址:https://icloud.developer.apple.com/dashboard/登录开发者账号