目前我有一个UIViewController子类,里面有UIScrollView和UIView。以下是该类代码片段:
·H
#import <UIKit/UIKit.h>
@interface Scroller : UIViewController <UIScrollViewDelegate>
{
UIScrollView *scrollView;
UIView *testView;
}
@property (retain, nonatomic) IBOutlet UIScrollView *scrollView;
@property (retain, nonatomic) IBOutlet UIView *testView;
@end
在IB中我将UIScrollview链接到我的变量,但当我到达.m并尝试设置我的scrollview contentSize时,它将scrollView显示为nil。
的.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
// Initialize of scrollView
scrollView.contentSize = CGSizeMake(500, 500);
scrollView.delegate = self;
}
我是否错过了导入或其他任何内容才能正确分配?
修改 它可能有所帮助,但如果我尝试调试该问题并在lldb中检查scrollView的值,如果我尝试继续代码,我会收到EXC_BAD_ACCESS错误。
答案 0 :(得分:0)
试
//.h
@interface Scroller : UIViewController <UIScrollViewDelegate>
{
}
@property (retain, nonatomic) IBOutlet UIScrollView *scrollView;
@property (retain, nonatomic) IBOutlet UIView *testView;
//.m
[self.scrollView setContentSize:CGSizeMake(500, 500)];
只是为了澄清
没有自我的scrollview。正在看iVar - 我认为你没有分配/初始化。
连接到笔尖的@property IBOutlet与iVar不同。实际上你有两个同名的变量 - 如果你摆脱那些iVars,在加载XIB时,属性仍然会被分配和初始化。
答案 1 :(得分:0)
问题与代码无关,而与调试器本身无关。我尝试在xCode 4.3.1中执行此操作,并通过应用程序进行调试,并发现在xib和代码中都没有设置正确的字段。我删除了所有内容并打开了xCode 4.2并在那里尝试了一切都很顺利。在4.2中测试后,我转到4.3.1,它要求我从GDB切换到LLDB。我想,由于没有看到正确的结果,我只是偏执狂。