在drawRect中使用Variable

时间:2018-01-05 21:56:49

标签: objective-c drawrect

设置一个设置NSInteger值的segue FirstView(可以工作);此值将传递(也成功)到ViewController。所有ViewController都在CustomDraw中使用- (void)drawRect:(CGRect)rect {来创建图形(当它是单个视图应用程序并且整数值是硬编码时,这是有效的)。在.h中设置属性,在.m中合成 - 但是从FirstView传递到ViewController的值不会传递给CustomDraw,而是0,因此不会绘制图形。

在FirstView.h中

@property (nonatomic, assign) NSInteger _value;

在FirstView.m中

if (row == 1) {
    __value=50;
    NSLog(@"Set pid to:%ld", (long)__value); //It's 50

在ViewController.h中

@property (nonatomic, assign) NSInteger _value;

在ViewController.m中

@synthesize _value;

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"Received value:%ld", (long)_value); // Still 50

CustomDraw.h

@property (readwrite, assign, nonatomic) NSInteger _value;

CustomDraw.m

@synthesize _value;

- (void)drawRect:(CGRect)rect {
        // Receive value and draw graphics

        NSLog(@"Custom:%ld", (long)_value); // It's 0
}

有什么建议吗?

0 个答案:

没有答案