Clear Properties in App Designer

I have a Property in my App Designer defined as ''Index''.
This Property is used in most of my callback functions to access specific values.
However, before start to run any callback function, I need to ''clear'' the value of this Property so that I do not have influence of previous values in the callback I'm current running.
I tried to use
clearvars app.Index
but did not have the expected result.
Any ideas?

 Accepted Answer

Adam Danz
Adam Danz on 28 Jan 2021
Edited: Adam Danz on 28 Jan 2021
> I need to ''clear'' the value of this Property so that I do not have influence of previous values in the callback I'm current running
You can clear the content of that property using
app.Index = []; % numeric data
app.Index = {}; % cell arrays
app.Index = ''; % character arrays
app.Index = ""; % strings
% etc...
That can be used as a flag to ignore a section of code,
if ~isempty(app.Index)
% stuff
end
Addendum
To create an empty table
app.Index = table();
To clear a table and maintain the headers
app.Index(:,:) = []; % Preserves the class of each column
% or
app.Index = table([],[],{}); % Creates a new 0x3 table and defines classes for each column

4 Comments

THULYO NEDER
THULYO NEDER on 28 Jan 2021
Edited: THULYO NEDER on 28 Jan 2021
Thanks for your reply Adam.
In case I have a table assigned for this property, which is the most recommended to use?
If you wanted to replace it with an empty table,
app.Index = table();
If you want to clear the data and maintain the headers,
app.Index = array2table(ones(0,width(app.Index)),'VariableNames', app.Index.Properties.VariableNames);
Both options will pass the isempty test.
Thanks Adam.
It worked!
Thanks for the feedback, @THULYO NEDER
I've updated the answer to provide a better method of clearing a table,
app.Index(:,:) = [];
This method preserves the class of each column.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 28 Jan 2021

Edited:

on 29 Jan 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!