Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何将多个UIView(每个视图中都有一个按钮)作为子视图添加到UIScrollview_Objective C_Ios_Uiview_Uiscrollview - Fatal编程技术网

Objective c 如何将多个UIView(每个视图中都有一个按钮)作为子视图添加到UIScrollview

Objective c 如何将多个UIView(每个视图中都有一个按钮)作为子视图添加到UIScrollview,objective-c,ios,uiview,uiscrollview,Objective C,Ios,Uiview,Uiscrollview,我尝试使用一个循环向UIScrollview添加许多UIView,每个UIView表示一个对象,并包含从db查询返回的UIImage+UILabel。每个UIView内部都有一个按钮,用于调用superview以切换到下一个UIViewController。但是,由于我在for循环中分配这些UIView,内存似乎没有保留,因此按下按钮总是会导致seg故障 既然我需要将UIView中存储的UIImage和UILabel传递给我要进入的控制器,那么最好的方法是什么 这是我的密码: 父视图: //这是

我尝试使用一个循环向UIScrollview添加许多UIView,每个UIView表示一个对象,并包含从db查询返回的UIImage+UILabel。每个UIView内部都有一个按钮,用于调用superview以切换到下一个UIViewController。但是,由于我在for循环中分配这些UIView,内存似乎没有保留,因此按下按钮总是会导致seg故障

既然我需要将UIView中存储的UIImage和UILabel传递给我要进入的控制器,那么最好的方法是什么

这是我的密码:

父视图:

//这是从for循环调用的

IndividualObjectViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"smallObjectSubView"];
controller.delegate = self;    
controller.view.frame = CGRectMake(105*column+5, 125*row+45, 100, 120);
[self.objectScrollView addSubview:controller.view];
对象视图:

  • (iAction)对象按钮:(id)发件人{ }

我将iAction完全保留为空以进行调试,但看起来只要我将此操作与序列图像板按钮连接,我就会收到程序接收到的信号:EXEC\u BAD\u ACCESS error。

如果您不保留
控制器,它将在运行循环的当前传递结束时解除分配(即使您正在使用它的视图)


您应该将所有
IndividualObjectViewController
实例存储在
NSMutableArray
NSMutableDictionary
中。这些容器保留了存储在其中的对象。

这听起来像是带有ListView的NavigationController?为什么不使用苹果已经给你的东西呢?它确实是一个导航控制器,但我在UIListView上找不到多少信息。你能告诉我更多的信息吗?谢谢。可能是您对按钮@sector(press)而不是@selector(press:)使用了错误的选择器。请提供代码。我熟悉UITableView,但我当前的用例要求将3列UIView添加到UIScrollView,这意味着每个条目没有自己的行。谢谢,Rob。如果我加载了很多这样的视图(比如30+),这会在内存中产生问题吗?这是UITableView使用的方法吗?只需在父控制器中添加@property(Strong)NSMutableArray并向其添加每个对象控制器,结果就是相同的EXEC_BAD_访问错误。
UITableView
不要求每个单元格都有自己的
UIViewController
,这就是你正在有效地做的。