project_files/HedgewarsMobile/Classes/HoldTableViewCell.m
branchios-revival
changeset 11135 b34c0e2b546a
parent 10108 c68cf030eded
child 11256 3dc674af7662
--- a/project_files/HedgewarsMobile/Classes/HoldTableViewCell.m	Sat Aug 15 20:49:06 2015 +0200
+++ b/project_files/HedgewarsMobile/Classes/HoldTableViewCell.m	Sun Aug 16 02:32:03 2015 +0200
@@ -57,7 +57,29 @@
 
 -(void) holdAction {
     if (self.delegate != nil && [self.delegate respondsToSelector:@selector(holdAction:onTable:)])
-        [self.delegate holdAction:self.textLabel.text onTable:(UITableView *)self.superview];
+    {
+        UITableView *tableView = [self findTable];
+        if (tableView)
+        {
+            [self.delegate holdAction:self.textLabel.text onTable:tableView];
+        }
+    }
+}
+
+- (UITableView *)findTable
+{
+    UIView *tableView = self.superview;
+    while (![tableView isKindOfClass:[UITableView class]] || (tableView == nil))
+    {
+        tableView = tableView.superview;
+        
+        if ([tableView isEqual:self.window])
+        {
+            tableView = nil;
+        }
+    }
+    
+    return (UITableView *)tableView;
 }
 
 -(void) dealloc {