How can I load a saved .mat to restore an app state? (or alternative!)
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am writing an app for some data analysis, and for development reasons I want to be able to load a "saved state" whereby the app object restores to the version in a saved .mat file. My understanding is that it is possible to load a .mat and save fields from it (here, and here), however when I try this the uifigure objects do not become populated. Is there a way to restore an app in the way I have described? Or am I doing something fundamentally wrong?
I am using R2018b and App Designer.
Saving the .mat:
function SaveState(app)
name = inputdlg('Save name:');
save([cd,filesep,name{1},'.mat'],'app')
end
Loading the .mat is referenced in startupFcn:
function app = LoadState(app)
name = uigetfile('*.mat');
opened = load(name);
openf = fields(opened);
for i = 1:numel(openf)
app.(openf{i}) = opened.app.(openf{i});
end
end
3 commentaires
Magnus Hök
le 24 Mai 2022
...also tried:
K>> save('tst','-struct','app')
Error using save
The argument to -STRUCT must be the name of a scalar structure
variable.
K>>
Réponses (1)
Voir également
Catégories
En savoir plus sur Develop Apps Using App Designer dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!