辞書にあるnewPet
引数の構成要素でデータベースにデータを入れようとしている間に、func addPet
にエラーContextual type AnyObject cannot be used within dictionary literal
があります。Swift、Firebase: `setValue`エラー" AnyObjectはディクショナリリテラルで使用できません "
import Foundation
import Firebase
struct Pet {
var name:String?
var type:String?
var age:Int?
var feedingList:[String]
var walkingList:[String]
}
struct User {
var currentId:String?
var numberOfPets:Int?
var pets:[Pet]
}
class petBrain {
var reff = FIRDatabaseReference()
var currentUser:User = User(currentId: "",numberOfPets: 0,pets: [])
init(){
self.reff = FIRDatabase.database().reference()
}
func setUserId(cId:String?){
self.currentUser.currentId = cId
}
func addPet(newPet:Pet) {
self.reff.child("pets").childByAutoId().setValue(["name":newPet.name, "type":newPet.type, "age":newPet.age, "fList":newPet.feedingList, "wList":newPet.walkingList])
}
}
私はすでに
let em = emailTextField.text!
let us = usernameTextField.text!
...
else {
print("User created! Loging in.")
self.login()
// adding user to DB of users
self.ref.child("users").child(user!.uid).setValue(["email":em, "username":us])
}
(エラーを生成しない)も同様に辞書の形でユーザーとその作業罰金のために、他のViewControllerでこれを行っている私は、ペットケースに間違って何をしたのですか?おそらくstructやstructの要素型によるものでしょうか?これらの2つの構造体は明確に定義されていますか?
あなたはswift3でコーディングされていますか? – Dravidian
いいえ、Swift2、なぜですか? – NikolaM