Bmob使用
简介
Bmob平台为您的移动应用提供了一个完整的后端解决方案,我们提供轻量级的SDK开发包,让开发者以最小的配置和最简单的方式使用Bmob平台提供的服务,进而完全消除开发者编写服务器代码以及维护服务器的操作。
快速入门
1.注册Bmob账号
在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”,在跳转页面填入你的姓名、邮箱、设置密码,确认后到你的邮箱激活Bmob账户,你就可以用Bmob轻松开发应用了。
2.网站后台创建应用
登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。
3.安装BmobSDK
1)将下载好的BmobSDK引入项目
在你的在你的XCode项目工程中,添加BmobSDK.framework
2)添加相关的系统framework:
在你的XCode工程中Project ->TARGETS -> Build Phases->Link Binary With Libraries引入:
Security.framework
CoreGraphics.framework
MobileCoreServices.framework
CFNetwork.framework
CoreTelephony.framework
SystemConfiguration.framework
libz.1.2.5.tbd
libicucore.tbd
libsqlite3.tbd
4.设置应用的BmobKey
1)创建桥接文件并在桥接文件中导入 #import
既然要网络请求怎么能少掉设置plist.info
2)在xcode工程的AppDelegate文件中创建应用key,填入申请的授权key (需申请账号后创建应用才能获得相应app的key)
Bmob.registerWithAppKey("72e886436014590cb9ad1c8afd379ef9")
5.添加一行数据
let userName = BmobObject.init(className: "Name")
userName.setObject("用户", forKey: "user")
userName.saveInBackgroundWithResultBlock { (bool, error) in
print("成功")
}
5.获取一条数据
let bquery = BmobQuery.init(className: "Name")
bquery.getObjectInBackgroundWithId("7129371cf6") { (objc, error) in
print("===\(objc.objectForKey("user"))")
}
6.获取一张表中所有的数据
let bquery = BmobQuery.init(className: "Name")
bquery.findObjectsInBackgroundWithBlock { (allObjc, error) in
print("!!:\(allObjc)")
}
7.更新一行数据
let bquery = BmobQuery.init(className: "Name")
bquery.getObjectInBackgroundWithId("7129371cf6") { (objc, error) in
let objc1 = BmobObject.init(outDataWithClassName: objc.className, objectId: objc.objectId)
objc1.setObject("小花", forKey: "user")
objc1.updateInBackground()
}
8.删除一行数据
let bquery = BmobQuery.init(className: "Name")
//删除
bquery.getObjectInBackgroundWithId("7129371cf6") { (objc, error) in
objc.deleteInBackground()
}
:http://docs.bmob.cn/ios/developdoc/index.html?menukey=develop_doc&key=develop_ios#index_%87%F6%A1%06
运用
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//self.insertData()
//self.getOneData()
//self.getAllData()
//self.updateData()
self.deleteData()
}
//添加数据
func insertData(){
//1.创建表
//className:表名
let userInfo = BmobObject(className: "UserInfo")
//2.设置数据对象
userInfo.setObject("赵", forKey: "name")
userInfo.setObject(18, forKey: "age")
//3.存储到云
userInfo.saveInBackgroundWithResultBlock { (ret, error) in
if ret == true{
print("插入成功")
}
}
}
//查询数据
func getOneData(){
//1.根据表明创建查询对象
let query = BmobQuery(className: "UserInfo")
//2.根据ID查询一条数据
query.getObjectInBackgroundWithId("70d2cc25fb") { (object, error) in
print(object.objectForKey("name"))
}
}
//查询整张表的数据
func getAllData(){
//1.根据表明创建查询对象
let query = BmobQuery(className: "UserInfo")
//2.获取表中所有的数据
query.findObjectsInBackgroundWithBlock { (allObjects, error) in
print(allObjects)
//遍历所有的数据结果
for item in allObjects{
print(item.objectForKey("name")!)
}
}
}
//更新一条数据
func updateData(){
//1.根据表明创建查询对象
let query = BmobQuery(className: "UserInfo")
//2.查询到所需要更新的数据对象
query.getObjectInBackgroundWithId("70d2cc25fb") { (object, error) in
//3.改年龄
object.setObject(24, forKey: "age")
//4.保存
object.updateInBackgroundWithResultBlock({ (ret, error) in
if ret{
print("更新成功")
}
})
}
}
//删除数据
func deleteData(){
//1.根据表明创建查询对象
let query = BmobQuery(className: "UserInfo")
//2.查询到所需要更新的数据对象
query.getObjectInBackgroundWithId("70d2cc25fb") { (object, error) in
object.deleteInBackgroundWithBlock({ (ret, error) in
if ret{
print("删除成功")
}
})
}
}
//按条件查询
func getDataWithName(name:String){
//1.根据表明创建查询对象
let query = BmobQuery(className: "UserInfo")
//2.添加约束
query.whereKey("name", equalTo: "周杰伦")
//3.开始查询
query.findObjectsInBackgroundWithBlock { (allObjects, error) in
print(allObjects)
}
}
}