一、从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. CF741DArpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(DSU on tree)

    题目大意: 给定一个以1为根的树,每条路径上都有一个字符(a~v共22个)询问对于每一个子树内最长的路径上字母经排序后可以形成回文串的最长路径多长 解题思路: 假定给你一个字符串,如何判定其经打乱能否 ...

  2. Lightoj 1043 - Triangle Partitioning【二分】

    题目链接:http://lightoj.com/volume_showproblem.php? problem=1043 题意:一个三角形ABC,DE//BC.已知三角形ADE和四边形BDEC的面积的 ...

  3. [JWT] JWT Signature With RS256 - Learn The Advantages Compared to HS256

    The advantage of RS256 over HS256 is RS256 no longer need to share the secret key between client and ...

  4. LOJ 6229 LCM / GCD (杜教筛+Moebius)

    链接: https://loj.ac/problem/6229 题意: \[F(n)=\sum_{i=1}^n\sum_{j=1}^i\frac{\mathrm{lcm}(i,j)}{\mathrm{ ...

  5. PHP服务器环境打开配置文件

    MAC 1.  cd /usr/local/etc/nginx/servers vim www.xxx.com 2. 在/usr/local/etc/nginx/servers目录下,不同的 .con ...

  6. js取对象的属性值循环

    var data = {name: "liuyang", job: "web", age: "27"} Object.keys(data). ...

  7. Docker 部署Dotnet Core MVC项目

    原文:Docker 部署Dotnet Core MVC项目 1.dotnet core创建项目 dotnet new mvc -o myweb cd myweb 然后就是业务代码的编辑,增删改查乱七八 ...

  8. JSP中的EL表达式详细介绍

    一.JSP EL语言定义 EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素.它们通常用于对象操作以及执行那些 ...

  9. Notepad++和MinGW的安装和配置

    http://blog.csdn.net/cclovepl/article/details/70568313 http://blog.csdn.net/cclovepl/article/details ...

  10. Loadrunner--集合点

    集合点的意思是等到特定的用户数后再一起执行某个操作,比如一起保存,一起提交(我们通常意义上的并发数并不是指一起提交或者一起保存),一般情况下使用不到集合点,不过,订票系统或者促销类需要用到,比如说某个 ...