【swift】 使用bmob后端云进行增删改查以及上传文件的部分代码
来源:互联网 发布:tomcat部署java项目 编辑:程序博客网 时间:2024/05/22 05:30
bmob后端云作为国内非常不错的后端云平台,提供了丰富的后端云服务,也让开发者能够用几行代码搞定对于表的增删改查操作。
然而bmob所提供的类库文档是OC的,这对于笔者这种用swift进行开发的人造成了一定的不便。
因此笔者在这里分享一下笔者常用的bmob后端云的swift代码。
(至于如何配置bmob后端云……自行百度吧,教程写得都很好,笔者就不献丑了哈)
//添加一张表,并且新建一列数据(表名,列名,内容)
func insertData(_ className:String, key:String, content:String){
//创建表
let object = BmobObject(className: className)
//设置数据对象(我们可以多次使用setObject方法,来达到新建多个列的目的)
object?.setObject(content, forKey: key)
//存储到云
object?.saveInBackground { (ret, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print("insert successful")
}
}
}
//按条件查询(表名,列名,查询内容),并输出结果
func getDataWithKey(_ className:String, keyName:String, queryItem:String){
//根据表明创建查询对象
let query = BmobQuery(className: className)
//添加约束(有以下约束条件,可以根据自己的需要修改)
query?.whereKey(keyName, equalTo: queryItem)//keyName与queryItem相等
// query?.whereKey(keyName, notEqualTo: queryItem)//keyName与queryItem不相等
// query?.whereKey(keyName, lessThan: queryItem)//小于
// query?.whereKey(keyName, lessThanOrEqualTo: queryItem) //小于或等于
// query?.whereKey(keyName, greaterThan: queryItem) //大于
// query?.whereKey(keyName, greaterThanOrEqualTo: queryItem) //大于或等于
query?.findObjectsInBackground { (allObjects, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print(allObjects!)
}
}
}
//按条件查询多个对象(表名,列名,存在一个数组中的多个查询内容),并输出结果
func getDataWithKey(_ className:String, keyName:String, queryItems:[AnyObject]){
let query = BmobQuery(className: className)
query?.whereKey(keyName, containedIn: queryItems)//在queryItems中的所有值中匹配keyName
// query?.whereKey(keyName, notContainedIn: queryItems)//在queryItems中的所有值中排除keyName
query?.findObjectsInBackground { (allObjects, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print(allObjects!)
}
}
}
//查询某个列是否有值(表名,列名,查询内容),并输出结果
func getDataWithKey(_ className:String, keyName:String){
let query = BmobQuery(className: className)
query?.whereKeyExists(keyName)
query?.findObjectsInBackground { (allObjects, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print(allObjects!)
}
}
}
//按照升序或降序排列(表名,列名,查询内容),并输出结果
func orderData(_ className:String, keyName:String){
let query = BmobQuery(className: className)
query?.order(byAscending: keyName)//按照升序排列
// query?.orderByDescending(keyName)//按照降序排列
query?.findObjectsInBackground { (allObjects, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print(allObjects!)
}
}
}
//按条件查询(表名,列名,查询内容),并删除
func getDataWithKeyAndDelete(_ className:String, keyName:String, queryItem:String){
let query = BmobQuery(className: className)
query?.whereKey(keyName, equalTo: queryItem)
query?.findObjectsInBackground { (allObjects, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
for item in allObjects!{
//在云端删除
(itemas AnyObject).deleteInBackground({ (ret, error)in
if ret{
print("delete successful")
}
})
}
}
}
}
//按条件查询(表名,列名,查询内容,更新的列,更新的内容),并更新
func getDataWithKeyAndUpdate(_ className:String, keyName:String, queryItem:String, newKey:String,content:String){
let query = BmobQuery(className: className)
query?.whereKey(keyName, equalTo: queryItem)
query?.findObjectsInBackground { (allObjects, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
for item in allObjects!{
(itemas AnyObject).set(content, forKey: newKey)
//在云端更新
(itemas AnyObject).updateInBackground(resultBlock: { (ret, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print("update successful")
}
})
}
}
}
}
//上传文件至bmob
func uploadFile(_ file:BmobFile){
print("start upload")
//储存至云端
file.save{ (ret, error)in
if(error != nil){
print("error is\(error?.localizedDescription)")
}else{
print(file.url)//文件的地址
}
}
}
//根据url删除储存于bmob上的文件(需要提供一个存放url的,String类型的数组)
func deleteFile(_ url:[String]){
BmobFile.filesDeleteBatch(with: url) { (url, isSuccessful, error)in
print("error\(error)")
print("isSuccessful\(isSuccessful)")
}
}
有了以上增删改查以及上传文件的方法,大家就可以愉快地用swift对于bmob后端云进行操作了~
当然,更详细的信息请参考Bmob开发文档:
https://docs.bmob.cn/data/iOS/l_swift_develop/doc/index.html
总之就是这样咯,如有错误,请指正~
- 【swift】 使用bmob后端云进行增删改查以及上传文件的部分代码
- Android实战——第三方服务之Bmob后端云的增删改查、上传文件、获取文件、修改密码(二)
- Bmob的入门 实现增删改查
- Bmob数据库的增删改查
- 使用jaxp对xml文件进行增删改查以及遍历操作
- Bmob后端云的使用
- NSFileManager的使用保存图片,并进行增删查改,还进入部分插入
- java代码对xml文件进行增删改查操作
- 二、spring mvc模拟用户增删改查以及登录和上传文件的相关流程
- Bmob移动后端云服务平台--Android从零开始--(三)Bmob数据操作((批量)增删改)
- datagrid的增删查改 aspx部分代码
- datagrid的增删查改 aspx.cs部分代码
- Android之Bmob移动云服务(增删改查)
- Java中的数组以及使用数组进行增删改查的算法复杂度
- 使用dom4j对XML文件进行增删改查
- swift使用FMDB数据库增删改查
- Android上传文件与联系人的增删改查示例
- HDFS Java代码进行增删改查
- 进程中的标识符和键(ftok函数创建)(共享内存,消息队列,信号量用到的)
- Spring源码解析
- 2017 计蒜之道初赛第六场 题解
- Unity3D基础篇----Shader学习笔记(2)
- 【UVa1635】唯一分解定理 + 组合数递推
- 【swift】 使用bmob后端云进行增删改查以及上传文件的部分代码
- ubuntu下ns2安装--简单不简单
- C++类(Class)总结
- PL/SQL 快捷键设置
- 【C语言】注释转换
- 简单工厂模式
- Qt 应用程序的一种插件化设计思路
- hadoop-25
- Hibernate入门09_QBC及SQL查询