一、从iOS8开始,苹果为开发者提供了ClouKit,可以把我们的应用程序和用户数据存储在iCloud上,用于代替后台服务器,开发移动代码即可。

二、设置

(1)需要一个开发者账号,并且设置一个bundle id 包含 iCloud功能

(2)设置xcode:

(3)设置模拟器,setting-iCloud 登录账号(可以是非开发者账号)

三、控制器增删改查 Swift 代码:

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/ 登录开发者账号

iOS云存储:CloudKit 基本使用教程 增删改查(Swift)的更多相关文章

  1. IOS之分析网易新闻存储数据(CoreData的使用,增删改查)

    用过网易新闻客户端的朋友们都知道,获取新闻列表时有的时候他会请求网络有时候不会,查看某条新闻的时候再返回会标注已经查看的效果,接下来分析一下是如何实现的. 首先: 1.网易新闻用CoreData存储了 ...

  2. iOS CoreData (一) 增删改查

    代码地址如下:http://www.demodashi.com/demo/11041.html Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映 ...

  3. sqlHelper做增删改查,SQL注入处理,存储值,cookie,session

    一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...

  4. 微软Connect教程系列--自动生成增删改查页面工具介绍(二)

    本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插 ...

  5. primefaces4.0基本教程以及增删改查

    最近试着用了用primefaces4.0,准备写一个基本的增删改查以及分页程序,但在写的过程中发现了很多问题,本想通过百度.谷歌解决,但无奈中文资料非常少,笔者在坑中不停的打滚,终于完成了一个有着基本 ...

  6. iOS CoreData 增删改查详解

    最近在学习CoreData, 因为项目开发中需要,特意学习和整理了一下,整理出来方便以后使用和同行借鉴.目前开发使用的Swift语言开发的项目.所以整理出来的是Swift版本,OC我就放弃了. 虽然S ...

  7. SQLite 入门教程(四)增删改查,有讲究 (转)

    转于: SQLite 入门教程(四)增删改查,有讲究 一.插入数据 INSERT INTO 表(列...) VALUES(值...) 根据前面几篇的内容,我们可以很轻送的创建一个数据表,并向其中插入一 ...

  8. IOS开发中使用CNContact\CNMutableContact 对通讯录增删改查

    IOS开发中使用CNContact\CNMutableContact 对通讯录增删改查 首先当然是把CNcontact包含在工程中: @import Contacts; 1.下面是增加联系人的程序段: ...

  9. Asp.Net WebApi学习教程之增删改查

    webapi简介 在asp.net中,创建一个HTTP服务,有很多方案,以前用ashx,一般处理程序(HttpHandler),现在可以用webapi 微软的web api是在vs2012上的mvc4 ...

随机推荐

  1. 百度地图API 添加标签

    1.手动创建数据,实际项目则是接受GPS信息 /建立坐标点: // lng:经度 lat:纬度 var points = [ {"lng":112.58,"lat&quo ...

  2. 5.9 enum--支持枚举类型

    enum模块提供了枚举类型的支持.枚举类型是由一个名称和一个统一值来组成.值是常量的值.它们之间能够通过名称进行比較和引用,还能够迭代訪问. 5.9.1 模块内容 本模块主要定义了两种枚举类型:Enu ...

  3. 终于研究出如何设置新版paypal付款时汇率损失方的问题了

    http://bbs.55haitao.com/thread-1686005-1-1.html 终于研究出如何设置新版paypal付款时汇率损失方的问题了 登录paypal后,选"设置&qu ...

  4. 使用Spring框架的好处

    转自:https://www.cnblogs.com/hoobey/p/6032506.html 在SSH框假中spring充当了管理容器的角色.我们都知道Hibernate用来做持久层,因为它将JD ...

  5. COGS——C2098. Asm.Def的病毒

    http://www.cogs.pro/cogs/problem/problem.php?pid=2098 ★☆   输入文件:asm_virus.in   输出文件:asm_virus.out    ...

  6. 洛谷 P2969 [USACO09DEC]音符Music Notes

    P2969 [USACO09DEC]音符Music Notes 题目描述 FJ is going to teach his cows how to play a song. The song cons ...

  7. Python写爬虫-爬甘农大学校新闻

    Python写网络爬虫(一) 关于Python: 学过C. 学过C++. 最后还是学Java来吃饭. 一直在Java的小世界里混迹. 有句话说: "Life is short, you ne ...

  8. Docker---(1)Docker 简介

    原文:Docker---(1)Docker 简介 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_39 ...

  9. 微服务实践(五):微服务的事件驱动数据管理 - DockOne.io

    原文:微服务实践(五):微服务的事件驱动数据管理 - DockOne.io [编者的话]本文是使用微服务创建应用系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第 ...

  10. 5W1H分析法和5W2H分析法

    5W1H分析法也称六何分析法,是一种思考方法,也可以说是一种创造技法.是对选定的项目.工序或操作,都要从原因(WHY).对象(WHAT).地点(WHERE).时间(WHEN).人员(WHO).方法(H ...