我有一个非常简单的 ViewController 包含以下内容:
@interface ServingsView : UIViewController
@property (retain, nonatomic) IBOutlet UILabel *labelTitle;
@property (retain, nonatomic) IBOutlet UILabel *labelContent;
@property (retain, nonatomic) IBOutlet UIButton *buttonSelect;
我没有在这个控制器的 m 文件中添加任何代码。
现在,我正在创建这个视图控制器并将其视图添加到滚动视图中:
for (NSSubArray * Choice in currentItem.ItemsArray)
{
stView * ChoiceView=[[stView alloc]initWithNibName:@"stView" bundle:nil];
ChoiceView.view.tag=1515;
[mScrollView addSubview:ChoiceView.view];
ChoiceView.view.frame=CGRectMake(0, [self getMinimumHeight]+h*ChoiceView.view.frame.size.height , 320, ChoiceView.view.frame.size.height);
ChoiceView.labelTitle.text=Choice.ArrayName;
[ChoiceView.buttonSelect addTarget:self action:@selector(onSubservingItemClicked:) forControlEvents:UIControlEventTouchUpInside];
ChoiceView.buttonSelect.tag=h;
h++;
increaseHeight+=ChoiceView.view.frame.size.height;
// here is the problem:
[ChoiceView release];
}
现在,我没有在任何地方使用 ChoiceView。发生的事情是,按钮甚至没有显示,并且该视图没有任何响应。在其环境中使用视图滚动时,我遇到了不同类型的异常。有时它的 CALayer 异常,有时是 stView 异常。当我删除发布线时,一切正常。
我什至创建了一个测试项目,它没有在那里发生,所以我在这里遗漏了一些东西。