Swift Azure Mobile快速入门 - 添加和同步PNG图像

时间:2018-04-16 17:33:35

标签: ios swift azure azure-mobile-services

iPhone新手,Swift。使用XCode 9.3

我正在尝试修改Azure QuickStart iPhone Swift应用程序以包含Images.xcassets PGN图像。

该应用使用:https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/app-service-mobile/app-service-mobile-ios-how-to-use-client-library.md

我只想使用1个Azure Sql Server表而不使用Azure BLOB存储。

方法:将PNG转换为Base64字符串

Swift代码更改 1. QSTodoDataModel.xcdatamodeid - 添加属性:pic,Type:String 2.将PNG转换为类型Base64 String

let myPicUI = #imageLiteral(resourceName: "apic")
 // ** Also tried: let myPicUI : UIImage = UIImage(named: "apic")!

 let myPicNSData : NSData = UIImagePNGRepresentation(myPicUI)! as NSData
 let myPicstrBase64 = myPicNSData.base64EncodedString(options: 
NSData.Base64EncodingOptions.lineLength64Characters)

//创建NSDictionary INSERT记录 -

let itemToInsert = ["pic" : myPicstrBase64,  "text": text, "complete": 
false, "__createdAt": Date()] as [String : Any]


 UIApplication.shared.isNetworkActivityIndicatorVisible = true
    self.table!.insert(itemToInsert) {
        (item, error) in
        UIApplication.shared.isNetworkActivityIndicatorVisible = false
        if error != nil {
            print("Error: " + (error! as NSError).description)
        }

App Save&同步失败:添加用户输入的“文本”字段值并显示在表格视图中。当通过下拉表屏幕尝试SYNC到AZURE时,记录将从表格视图中消失。直接查询Sql Server ToDoItem表,没有插入记录。

测试:移动同步直接使用String时成功:“TestString”

let itemToInsert = ["pic" : "TestString",  "text": text, "complete": false, "__createdAt": Date()] as [String : Any]

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

成功!!

转换为字符串:let myPicstrBase64 = myPicNSData.base64EncodedString()

我正在使用Free Azure Sql Server DB。 XCode错误输出窗口显示数据库没有空格消息。

清除表:Toitems

希望这可以帮助任何人学习Swift和Azure移动服务。