我正在尝试从表格视图中读取数据,我创建了以下方法:
/**
Salva le nuove info dell'Evento modificato
*/
private func SalvaEventoModificato(){
self.Effetto_blur.alpha = 1
var IndexPath = NSIndexPath(row: 0, section: 0)
//let nome_Evento = ((self.table_viewCosaVisualizzare.cellForRow(at: IndexPath as IndexPath)) as! cella_locale_modifica).NomeEvento.text!
var nome_evento = ""
var artista = ""
var genere = ""
var descrizione = ""
var data_inizio:NSNumber? = nil
var data_fine:NSNumber? = nil
var Immagine_Evento:UIImage? = nil
if let cell = ((self.table_viewCosaVisualizzare.cellForRow(at: IndexPath as IndexPath)) as? cella_locale_modifica){
nome_evento = cell.NomeEvento.text!
Immagine_Evento = cell.CopertinaLocale.image!
}
IndexPath = NSIndexPath(row: 2, section: 0)
if let cella2 = ((self.table_viewCosaVisualizzare.cellForRow(at: IndexPath as IndexPath)) as? g_cella){
artista = cella2.Artista.text!
genere = cella2.Genere.text!
}
IndexPath = NSIndexPath(row: 4, section: 0)
if let cella3 = ((self.table_viewCosaVisualizzare.cellForRow(at: IndexPath as IndexPath)) as? descrizione_cella){
descrizione = cella3.descrizione.text
}
IndexPath = NSIndexPath(row: 8, section: 0)
if let cella4 = ((self.table_viewCosaVisualizzare.cellForRow(at: IndexPath as IndexPath)) as? inizio_evento_cella){
data_inizio = cella4.data_picker.date.timeIntervalSince1970 as NSNumber
}
IndexPath = NSIndexPath(row: 12, section: 0)
if let cella5 = ((self.table_viewCosaVisualizzare.cellForRow(at: IndexPath as IndexPath)) as? inizio_evento_cella){
data_fine = cella5.data_picker.date.timeIntervalSince1970 as NSNumber
}
let nuoviDati:[String:Any] = ["Nome Evento":nome_evento,"Artista":artista,"Genere":genere,"Descrizione":descrizione,"Inizio Evento":data_inizio!,"Fine Evento":data_fine]
let storage = Storage.storage().reference().child("Eventi").child(self.EventoCorrente.Chiave!).child("Copertina").child("Copertina.jpg")
IndexPath = NSIndexPath(row: 0, section: 0)
if let dati = UIImageJPEGRepresentation(Immagine_Evento!, 0.6){
print("salvo nuova copertina")
storage.putData(dati, metadata: nil, completion: { (metadata, Error) in
if Error != nil{
let avviso = UIAlertController(title: "Errore", message: "Si è verificato un Errore con la modifica del tuo Evento, riprova più tardi.", preferredStyle: UIAlertControllerStyle.alert)
let Ok = UIAlertAction(title: "Ok", style: .default, handler: { (UIAlertAction) in
self.Effetto_blur.alpha = 0
return
})
avviso.addAction(Ok)
self.present(avviso, animated: true, completion: nil)
}else{
if let RemotePhoto = metadata?.downloadURL()?.absoluteString {
let url_copertina = RemotePhoto
let nuoviDati:[String:Any] = ["Nome Evento":nome_evento,"Artista":artista,"Genere":genere,"Descrizione":descrizione,"Immagine Copertina":url_copertina,"Inizio Evento":data_inizio!,"Fine Evento":data_fine!]
self.ref.child("Eventi").child(self.EventoCorrente.Chiave!).updateChildValues(nuoviDati)
self.Effetto_blur.alpha = 0
}
}
})
}
}
工作正常,但它似乎只读取用户当前视图中加载的单元格,例如:
输出以下内容:
["Descrizione": "Benvenuto nella pagina dell\'Evento di debug", "Genere": "Debug", "Artista": "Debug", "Fine Evento": nil, "Inizio Evento": 1495058400, "Nome Evento": "Evento Dubig"]
Optional(<UIImage: 0x6000002914e0> size {1000, 1000} orientation 0 scale 1.000000)
而不是这个:
输出:
["Descrizione": "Benvenuto nella pagina dell\'Evento di debug", "Genere": "", "Artista": "", "Fine Evento": Optional(1523764800), "Inizio Evento": 1495058400, "Nome Evento": ""]
nil
有没有办法从 ALL 中读取单元格?