Swift从uiview中移除uibutton

问题描述:

我想问一下如何用Swift从我的视图中删除一个按钮? 对对象的C我做的代码Swift从uiview中移除uibutton

- (void)Delete:(id)sender{ 
    NSArray *subviews = [self.view subviews]; 
    for (UIView *v in subviews) { 
    if ([v isKindOfClass:[UIButton class]]){ 
     UIButton *button = (UIButton*)v; 
     if (button.tag == self.deleteIndex) { 
      [button removeFromSuperview]; 
      self.CountButton -= 1;} 
+0

你尝试使用'view.viewWithTag(deleteIndex).removeFromSuperview()'? – dasblinkenlight 2014-10-05 10:54:43

+0

但在swift中做同样的事情? – user2244770 2014-10-05 11:48:26

直译你的问题到斯威夫特:

func Delete(sender: AnyObject) { 
    let subviews = self.view.subviews as [UIView] 
    for v in subviews { 
     if let button = v as? UIButton { 
      if button.tag == self.deleteIndex { 
       button.removeFromSuperview() 
       self.CountButton -= 1 
      } 
     } 
    } 
} 

的使用注意事项投,而不是isKindOfClass:检查as?的。在Swift中,这是一个可用于尝试将对象转换为特定类型的构造。如果对象不是该类型,则投射失败(返回nil),并且if语句不会执行。