2013-10-11 2 views
2

Мне нужно получить доступ к свойству viewController для передачи цвета, но это свойство равно нулю.Свойство другое UIViewController имеет значение null

LibraryViewController.h

#import "FinalAlgView.h" 

@interface LibraryViewController : UIViewController{ 
     FinalAlgView * drawView; 
    } 

    @property (nonatomic, retain)FinalAlgView * drawView; 

TableColor.h

#import <UIKit/UIKit.h> 
#import "FinalAlgView.h" 
#import "LibraryViewController.h" 

@interface TableColor : UITableViewController { 

FinalAlgView *color; 
LibraryViewController * colorDraw; 
} 

@property (nonatomic, retain)FinalAlgView *color; 

@property (nonatomic, retain)LibraryViewController * colorDraw; 

@end 

В TableColor.m

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.colorDraw =[[LibraryViewController alloc]init]; 
} 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    self.colorDraw.drawView.lineColor =[UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.6]; 
    NSLog(@"the libraryViewController is %@", self.colorDraw); 
    //the libraryViewController is <LibraryViewController: 0x4d03f0> 
    NSLog(@"the property is %@", self.colorDraw.drawView); 
    //the property is (null) 

    } 

Как я могу сделать?

+0

Вы используете раскадровки? –

+0

Нет, я не использую раскадровки и не использую ARC –

+1

Вместо 'init' попробуйте использовать' initWithNibName' –

ответ

0

попробовать этот путь ...

FinalAlgView.h

@property(nonatomic,retain) UIColor *lineColor; 

FinalAlgView.m

@synthesize linecolor; 

Обновлено 2 ответа

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     coralDraw=[LibrayViewController alloc]init]; 
     coralDraw.drawView=[[FinalAlgView alloc]init]; 
     self.coralDraw.drawView.lineColor=[[UIColor alloc]init]; 

    self.colorDraw.drawView.lineColor =[UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.6]; 
    NSLog(@"the libraryViewController is %@", self.colorDraw); 
    //the libraryViewController is <LibraryViewController: 0x4d03f0> 
    NSLog(@"the property is %@", self.colorDraw.drawView); 
    //the property is (null) 

    } 
+0

уже сделано, но оно не работает –

+0

см. Мой обновленный ответ. – user1673099

+0

Является ли он еще null –

Смежные вопросы