I comandi Undo/Redo non funzionano
Le azioni di Undo e Redo, che Core Data fornisce in automatico, non sono disponibili; o meglio: lo stack di Undo/Redo viene mantenuto correttamente, ma le voci di menu sono sempre disabilitate. Ho provato a collegare il bindingEnable
al metodo canUndo
dell'UndoManager
: in effetti il menu si abilita, ma selezionandolo non succede nulla. L'ultimo tentativo è stato di collegare il menu ad una azione che chiamasse esplicitamente il metodo giusto:[[self.managedObjectContext undoManager] undo]Funziona, ma quando si va su un'altra finestra, per esempio con possibilità di editing testuale, quel menu continua (giustamente) a chiamare l'
UndoManager
di Core Data, rischiando seriamente il crash dell'applicazione e comunque ottenendo una cosa diversa.Non è possibile nominare le azioni di Undo
Poca cosa, visto comunque che l'Undo non funziona...; comunque il messaggio[[self.managedObjectContext undoManager] setActionName:@"Edit"]non ha alcun effetto, anche se abilito il menu in qualche modo. Probabilmente è conseguenza del primo punto.
Il menu Save non è collegato all'azione SaveAction
Questo si risolve velocemente, collegando il menu all'IBAction; in Xcode 3 questo arrivava già pronto. Un volta collegato, il menu si abilita correttamente quando è necessario salvare i dati.Il Persistent Store punta alla Libreria dell'utente, invece che all'Application Support
Anche questo potrebbe essere corretto in modo semplice: nel metodo dell'AppDelegate- (NSURL *)applicationFilesDirectorybasta sostituire il parametro
NSLibraryDirectory
con NSApplicationSupportDirectory
.Il vero problema, non risolvibile per quanto ne so, è comunque quello del funzionamento dell'Undo; la prova del nove l'ho avuta riesumando Xcode 3, creando un progetto nuovo e poi aprendo lo stesso progetto da Xcode 4: tutto è tornato a funzionare!
Quindi per ora non gettate via Xcode 3; oltre tutto possono convivere entrambi sullo stesso hard disk (prima bisogna installare la versione 3 e poi la 4, altrimenti la cosa non funziona).
Ho posto il problema ad alcuni forum, ma non ho trovato risposte, nemmeno chiamando in aiuto Google; potrebbe anche essere un problema di concomitanza tra qualche baco e la versione italiana di Lion.
Se qualcuno ha notizie in proposito, lasciate un commento.
--------
Aggiornamento (dicembre 2012)
La versione attuale di Xcode ha finalmente risolto tutti i problemi elencati, escluso il mancato collegamento del menu Save; per fortuna questo è risolvibile impostando il collegamento mancante.
Nel frattempo, si sono rivelati altri bachi in Xcode, non certo al normale livello di qualità dei software Apple; per citarne uno, scordatevi di impostare una animazione usando l'interfaccia: non potrete più toglierla (se lo faccio, Xcode emette un ottimo errore e si chiude...)
Nessun commento:
Posta un commento