要从视图中删除最后一个子视图,我使用
[[[self.view subviews] lastObject] removeFromSuperview];
我会使用
removeLastObject
,但不能因为subviews
是只读不可变数组。所以我需要:
访问所有子视图
获取最后一个对象
对其调用方法以将其从SuperView中移除
很有效,但是有更好的方法吗?这似乎有点不自然。我寻找一些类似于
[self.view removeLastSubview]
的东西,但不幸的是它不存在。 最佳答案
避免objective-c的消息发送语法
注意:不要那样做
UIView *lastView = self.view.subviews[self.view.subviews.count-1];
lastView.removeFromSuperview;
我说:别那么做
但说真的:
[[[self.view subviews] lastObject] removeFromSuperview];
很好。我会考虑第一段代码的味道。
关于objective-c - 是否有更好的方法从 View 中删除最后一个 subview ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24303395/