ich derzeit eine plist-Datei, die 27 Erfolge Daten enthält, und ich versuche, es in die Kern-Dateneinheit als Leistung weiß eingeben, wie untenEingabe plist Daten zu Kerndaten
func createAchievements() {
let A:Achievement = NSEntityDescription.insertNewObject(forEntityName: "Achievement", into: CoreDatabaseContoller.getContext()) as! Achievement
let filePath = Bundle.main.path(forResource: "Achievement", ofType: "plist")
let Items = NSArray(contentsOfFile: filePath!) as! [[String:AnyObject]]
for item in Items {
A.theName = item["Name"] as! String
A.theDescription = item["Description"] as! String
A.theImage = item["Image"] as! String
A.aAmount = item["Amount"] as! NSNumber
A.aNeededAmount = item["NeededAmount"] as! NSNumber //DOESN'T WORK IT ONLY SHOWS OR PUTS IN THE LAST ONE.
A.aStage = item["Stage"] as! NSNumber
A.aReward = item["Reward"] as! NSNumber
A.aHasBeenAchieved = item["HasBeenAchieved"] as! NSNumber
A.theSearchName = item["SearchName"] as! String
CoreDatabaseContoller.saveContext()
}
}
gesehen Aber wenn ich lade up the game und der achievement menu Teil des Spiels, das die Errungenschaften zeigt alle Bilder und Texte, die mit Kerndaten gefüllt werden sollen, sind nicht da und die Bilder sind rote Xs mit Ausnahme der letzten Errungenschaft im Erfolgsmenü, die zu sein scheint richtig funktioniert, wie in der Abbildung unten gesehen
Ich habe ursprünglich die Daten von den Errungenschaften über ein Switch-System eingegeben, das in meinem Code schrecklich aussah, wie unten zu sehen ist und es funktionierte nicht. Aber jetzt aus irgendeinem Grund, wenn ich versuche, und geben Sie es von einem plist auf Kerndaten scheint es nicht
func giveDataForAchievements zu arbeiten() {
if achievementsGenerated == false {
for count in 1...24 {
var aName = "None"
var aDesc = "None"
var aImage = "locked"
var aAmount:NSNumber = 0
var aNeededAmount:NSNumber = 1
var aStage:NSNumber = 0
var aReward:NSNumber = 0
var aHasbeenAchieved:NSNumber = 0
var aSearchName = ""
switch count {
case 1:
aName = "DAILY"
aDesc = "Daily Achievement"
aImage = "locked"
aAmount = 0
aNeededAmount = 1
aStage = 0
aReward = 350
aHasbeenAchieved = 0
aSearchName = "Ach0"
case 2:
aName = "DAILY"
aDesc = "Daily Achievement"
aImage = "locked"
aAmount = 0
aNeededAmount = 1
aStage = 0
aReward = 350
aHasbeenAchieved = 0
aSearchName = "Ach1"
case 3:
aName = "DAILY"
aDesc = "Daily Achievement"
aImage = "locked"
aAmount = 0
aNeededAmount = 1
aStage = 0
aReward = 350
aHasbeenAchieved = 0
aSearchName = "Ach2"
case 4:
aName = "ROOKIE"
aDesc = "Finish the tutorial level"
aImage = "locked"
aAmount = 0
aNeededAmount = 1
aStage = 2
aReward = 350
aHasbeenAchieved = 0
aSearchName = "Ach3"
createAchievements(aName: aName, Des: aDesc, Image: aImage, Amount: aAmount, Needed: aNeededAmount, Stage: aStage, Reward: aReward, BeenAchieved: aHasbeenAchieved, SearchName: aSearchName)
// all the way to 27
Ich bin nicht sicher, wie dies zu beheben. Kann mir jemand sagen, was ich falsch mache?