2014-10-05 58 views
1

我想問一下如何用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

回答

4

直譯你的問題到斯威夫特:

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語句不會執行。