我有问题,读取数据从我的back4app API到我的快速项目,我已经连接了我的Back4app应用程序和我的快速project.Imported必要的豆荚。
下面是我如何将我的应用程序连接到我的快速项目
import UIKit
import CoreData
import Parse
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let configuration = ParseClientConfiguration {
$0.applicationId = "KwLoFN7Rik2qadAS6dSpnNIv5E0Qd1Uu0nhvO1dt"
$0.clientKey = "RVNjTMvt5l73jt5GQxsg9GI16CDOiPAbEXiVPTY1"
$0.server = "https://parseapi.back4app.com"
}
Parse.initialize(with: configuration)
return true
}这是我用来解码json data.My json数据的数据模型,它遵循以下结构
import UIKit
struct restaurant: Decodable{
let objectId: String
let restaurant: String
let name: String
let description: String
let calories: String
let price: String
let ImageUrl: String
let type: String
let createdAt: String
let updatedAt: String
}
struct restaurants: Decodable{
let restaurants : [restaurant]
}在viewdidload()方法中,我检查我的快速项目是否成功地连接到我的back4app应用程序,然后尝试使用url检索数据,但是我一直收到一个错误,我不知道是什么
import UIKit
import Parse
class ViewController: UIViewController {
var restaurantStruct : restaurants? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
testParseConnection()
if let url = URL(string:"https://parseapi.back4app.com/classes/restaurants"){
let session = URLSession.shared
session.dataTask(with: url) { [self] (data, response, err) in
guard let jsonData = data else {
return
}
do {
let decoder = JSONDecoder()
let artworkList = try decoder.decode(restaurants.self, from: jsonData)
self.restaurantStruct = artworkList
DispatchQueue.main.async {
print(self.restaurantStruct ?? " ")
}
print(self.restaurantStruct!)
}
catch let jsonErr {
print("Error decoding JSON", jsonErr)
}
}
.resume()
}
func testParseConnection(){
let myObj = PFObject(className:"FirstClass")
myObj["message"] = "Hey ! First message from Swift. Parse is now connected"
myObj.saveInBackground { (success, error) in
if(success){
print("You are connected!")
}
else{
print("An error has occurred!")
}
}
}
}
}这是我在终端上看到的错误。
You are connected!
Error decoding JSON keyNotFound(CodingKeys(stringValue: "restaurants", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"restaurants\", intValue: nil) (\"restaurants\").", underlyingError: nil))使用解析读取数据
var query = PFQuery(className:"SoccerPlayers")
query.getObjectInBackgroundWithId("HMcTr9rD3s") {
(soccerPlayers: PFObject?, error: NSError?) -> Void in
if error == nil && soccerPlayers != nil {
print(soccerPlayers)
} else {
print(error)
}
}发布于 2022-11-19 21:05:15
如果收到{“错误”:“未经授权”}之类的错误,则应该使用MasterKey,但这对客户端来说很危险。
您可以使用sessionToken进行授权。但如果你现在还不知道。
可以从仪表板中更改Class级别的权限。您可以在back4app中打开您的应用程序,并打开相关类。公开阅读和公开写作。
https://stackoverflow.com/questions/74408362
复制相似问题