2009-06-10 13 views
6

Se stavo creando un'entità con un attributo di stringa non facoltativo chiamato, ad esempio, "nome", inserisco "Senza titolo" come predefinito. Come posso localizzare questo valore predefinito?Come localizzare il valore predefinito dell'attributo in un'entità Core Data

È possibile creare una sottoclasse di entità e utilizzare NSLocalizedString in awakeFromInsert per eseguire questa operazione. Ma mi stavo chiedendo se ci fosse un altro modo.

Edit:

Se questo è l'unico modo, allora io sto bene con esso. Solo curioso.

risposta

1

Puoi provare a utilizzare - [NSEntityDescription attributesByName]. Questo ti restituirà un NSDictionary di oggetti NSAttributeDescription. È quindi possibile estrarre quello desiderato e utilizzare - [NSAttributeDescription setDefaultValue:] su di esso.

1

È possibile localizzare la maggior parte degli aspetti di un modello di oggetto gestito, inclusi nomi di entità e proprietà e messaggi di errore. Vedi qui: http://developer.apple.com/documentation/Cocoa/Conceptual/CoreData/Articles/cdUsingMOM.html#//apple_ref/doc/uid/TP40005190-SW13

+0

Grazie, ma l'avevo già visto. Ma questo non mostra come localizzare il valore predefinito per una proprietà. Nel mio esempio localizzerebbe "nome" piuttosto che "Senza titolo" – Abizern

1

Forse è possibile localizzare i valori predefiniti nel modello (.mom file) e inserire i file di modello nelle appropriate cartelle di risorse .lproj?

1

Penso awakeFromInsert è l'unico modo