2

タイトルのように、user_profile への syncano 参照を追加する方法に問題があります。これは私のコードです:

 func saveName() {
   let Uerextra = userextra()
    Uerextra.name = (self.dict.objectForKey("first_name") as? String)!
    Uerextra.lastName = (self.dict.objectForKey("last_name") as? String)!
    Uerextra.avatarUrl = self.dict.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as! String
    Uerextra.FacebookId = (self.dict.objectForKey("id") as? String)!
    Uerextra.saveWithCompletionBlock { error in
        if error != nil {
            print(error)
        }

    }
}

また、ユーザー ID を参照する追加のフィールドが 1 つ必要です。これは私のクラスです:

class userextra : SCDataObject {

var name = ""
var lastName = ""
var avatarUrl = ""
var FacebookId = ""
var user: SCUserProfile! = nil

}

4

1 に答える 1

2

何度か試みた後、この参照を Syncano に保存することができました。これは私のコードです:

func saveName() {
    user_profile.please().enumaratePagesWithPredicate(nil, parameters: [SCPleaseParameterPageSize : 25]) {shouldStop, s_data, error in
        guard error == nil else {
            return
        }
        if let s_data = s_data as? [user_profile] {
            for user in s_data {
            let uzytkownik = user
            let Uerextra = userextra()
            Uerextra.name = (self.dict.objectForKey("first_name") as? String)!
            Uerextra.lastName = (self.dict.objectForKey("last_name") as? String)!
            Uerextra.avatarUrl = self.dict.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as! String
            Uerextra.FacebookId = (self.dict.objectForKey("id") as? String)!
            Uerextra.user = uzytkownik
                Uerextra.saveWithCompletionBlock { error in
                    if error != nil {
                        print(error)
                    }

                }
            }
        }

    }
}

および user_profile クラス:

class user_profile: SCUserProfile {
var id = 0
var Name = ""
var Surename = ""

}

最も重要なのは、アプリデリゲートにクラスを登録することです

SCUser.registerClassWithProfileClass(userextra.self)
SCUser.registerClassWithProfileClass(user_profile.self)
于 2016-04-18T17:26:06.193 に答える