iPhone新手,Swift。使用XCode 9.3
我正在尝试修改Azure QuickStart iPhone Swift应用程序以包含Images.xcassets PGN图像。
我只想使用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]
感谢您的帮助
答案 0 :(得分:0)
成功!!
转换为字符串:let myPicstrBase64 = myPicNSData.base64EncodedString()
我正在使用Free Azure Sql Server DB。 XCode错误输出窗口显示数据库没有空格消息。
清除表:Toitems
希望这可以帮助任何人学习Swift和Azure移动服务。