How to check the existence of a variable inside handles?
14 次查看(过去 30 天)
显示 更早的评论
In GUIDE, I am creating number instances of an object & deleting some of them using the command 'delete(handles.obj.pc(index))'.
before deletion the properties are,
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/648550/image.png)
After excecuting deletion, the properties inside the objects got deleted. the values for the properties becomes does not exists.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/648555/image.png)
Now, i am checking each created object properties to identify, the deleted objectes.
How can i check the stautus of the existance of the property vaules inside handles?
0 个评论
回答(2 个)
Image Analyst
2021-6-12
Strange that it has fields but no values for the fields. Maybe try clear instead of delete. Or if the field obj is a variable you tacked on to handles, rather than a handle to a control on the figure, use rmfield()
handles = rmfield(handles, 'obj');
To check whether a structure has a certain field, you can use isfield():
fieldnames(handles) % List all fields to the command window so you can see what's there.
% Check if it has a field called obj
if isfield(handles, 'obj')
% It has the field called obj.
else
% It does not have a field called obj.
end
Image Analyst
2021-6-12
Instead of
delete(handles.obj.pc(index));
try
handles.obj.pc(index) = [];
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!