Tôi đang sử dụng ứng dụng có Firebase.Lấy dữ liệu từ Firebase trong Swift 3.0
Sau khi chuyển đến nhanh 3,0 ngày hôm nay, Xcode hỏi tôi phải thay đổi mã này:
ref.observeEventType(.ChildAdded, withBlock: { snapshot in
let currentData = snapshot.value!.objectForKey("Dogs")
if currentData != nil {
let mylat = (currentData!["latitude"])! as! [String]
let mylat2 = Double((mylat[0]))
let mylon = (currentData!["longitude"])! as! [String]
let mylon2 = Double((mylon[0]))
let userid = (currentData!["User"])! as! [String]
let userid2 = userid[0]
let otherloc = CLLocation(latitude: mylat2!, longitude: mylon2!)
self.distanceBetweenTwoLocations(self.currentLocation, destination: otherloc, userid: userid2)
}
})
để mã này:
ref.observe(.childAdded, with: { snapshot in
let currentData = (snapshot.value! as AnyObject).object("Dogs")
if currentData != nil {
let mylat = (currentData!["latitude"])! as! [String]
let mylat2 = Double((mylat[0]))
let mylon = (currentData!["longitude"])! as! [String]
let mylon2 = Double((mylon[0]))
let userid = (currentData!["User"])! as! [String]
let userid2 = userid[0]
let otherloc = CLLocation(latitude: mylat2!, longitude: mylon2!)
self.distanceBetweenTwoLocations(self.currentLocation, destination: otherloc, userid: userid2)
}
})
Nhưng trong dòng thứ hai nó mang lại cho tôi một lỗi:
Cannot call value of non-function type 'Any?!'
Đây là dữ liệu json trong FireBase:
{
“user1” : {
"Dogs" : {
"User" : [ "siACmQZ7MDclDSO3hrCOp953kfl2" ],
"latitude" : [ "32.172344" ],
"longitude" : [ "34.858068" ]
}
“user2” : {
"Dogs" : {
"User" : [ "siACmQZ7MDclDSO3hrCOp953kfl2" ],
"latitude" : [ "32.172344" ],
"longitude" : [ "34.858068" ]
}
“user3” : {
"Dogs" : {
"User" : [ "siACmQZ7MDclDSO3hrCOp953kfl2" ],
"latitude" : [ "32.172344" ],
"longitude" : [ "34.858068" ]
}
}
bạn có thể cung cấp JSON tối thiểu của bạn, dưới dạng văn bản không đoạn mã – Dravidian
@Dravidian Chắc chắn, làm – Eliko
Bạn có quản lý để có được một sửa chữa cho điều này? –