有些内容您可能没有发布但有误,或者可能是我没有正确理解问题。
我尝试的一个简单示例可以通过故事板进行操作,不需要演员表并且易于使用。
所以这里是 SVTView.h 的代码:
@interface SVTView : UIView{
}
-(void)sampleSet:(int)value;
@end
和 SVTView.m:
#import "SVTView.h"
@implementation SVTView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
-(void)sampleSet:(int)value{
NSLog(@"setting value %d",value);
}
@end
最后是 ViewController 中的用法:
#import <UIKit/UIKit.h>
#import "SVTView.h"
@interface SVTViewController : UIViewController{
IBOutlet SVTView * testView;
}
@property(nonatomic, retain) SVTView * testView;
@end
和 Viewcontroller.m:
#import "SVTViewController.h"
@interface SVTViewController ()
@end
@implementation SVTViewController
@synthesize testView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[testView sampleSet:2];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
@end
引用 Outlet 已通过 Storyboard 连接,因此使用了实例变量。日志控制台显示 disred 结果:
2012-07-28 07:51:02.227 SingleViewTest[1490:f803] setting value 2
Imo 使用正确的类并不是多余的,多余的部分可能是类转换。