Buongiorno a tutti
questo e’ il mio primo post nel forum,
premetto che sono nuovo in ambito di sviluppo ios e questo rappresenta il mio primo vero progetto.
Ho studiato vari tutorial e guide e devo dire che adesso alcune cose sono piu’ confuse di prima…
quindi poiche’ credo che il mio sia un problema veramente banale mi affido a voi
Il fatto e’ questo:
Come creare su schermo una label che ottiene il testo da un array all’interno di un file .plist?
vi illustro i passi che ho fatto a grandi linee:
prima di tutto il file .plist contiene un dizionario che contiene a sua volta un item array, che contiene vari item string.
ho creato un file swift che gestisce e inizializza i plist:
import Foundation
struct Level {
let pointsPerTile: Int
let timeToSolve: Int
let anagrams: [NSArray]
init(levelNumber: Int) {
//1 find .plist file for this level
let fileName = "level\(levelNumber).plist"
let levelPath = "\(NSBundle.mainBundle().resourcePath!)/\(fileName)"
//2 load .plist file
let levelDictionary: NSDictionary? = NSDictionary(contentsOfFile: levelPath)
//3 validation
assert(levelDictionary != nil, "Level configuration file not found")
//4 initialize the object from the dictionary
self.pointsPerTile = levelDictionary!["pointsPerTile"] as! Int
self.timeToSolve = levelDictionary!["timeToSolve"] as! Int
self.anagrams = levelDictionary!["anagrams"] as! [NSArray]
}
}
successivamente ho aggiunto nel viewcontroller.swift
let anagram1 = anagramPair[0] as! String
println("phrase1 \(anagram1)")
Dando l’avvio nella console vengono letti e riportati correttamente i dati contenuti all’interno della string nella plist.
Come faccio a pubblicare questo contenuto su schermo in forma testuale… ad esempio con una label che cambia testo in base a quale livello (array) viene selezionato ma che fa riferimento sempre all’item indicato string.
Probabilemte non sono stato chiaro… ma spero che qualcuno riesca a decifrare e capirmi
Grazie e a presto
[SIZE=1]- - - Updated - - -[/SIZE]
sostanzialmente vorrei far comparire sul monitor il dato indicato usando questo metodo
//"plist textArea" label
var textArea = UILabel(frame: CGRectMake(ScreenWidth-230, 20, 140, 70))
textArea.backgroundColor = UIColor.clearColor()
textArea.font = FontHUD
textArea.text = "test"
self.addSubview(textArea)
vorrei far comparire nel campo textArea.text il dato interessato dal file plist