MATLAB: How do you output App data to a calling function

appfunctionMATLABoutputreturn datascript

I have a function/script that calls an instance of an App I created in AppDesigner. How do I get the App to return data to the function/script upon closing the App?
hApp = selectFiles_v0000; % call to open App within the function/script
importInfo(hApp,trajectoryDirectory,'.nc') % necessary to import function data into the App since I only have Matlab 2016b and do not have the ability to have a StartUpFcn with inputs
uiwait(hApp.selectFiles);
% need to have data from the App available in the function/script at this point

Best Answer

I had a similar probelm and made the following work around.
  1. In the calling function replace 'uiwait(hApp.selectFiles)' with 'uiwait(hApp.UIFigure)'
  2. Generate a button called 'close' in the app and add a callback involving uiresume(app.UIFigure).
  3. Read out the needed data in the calling function (usually with hApp.<name>.Value).
  4. If the app interface is no longer needed call additionally 'hApp.delete'.
I hope this helps.
Related Question