2012-02-21 5 views
-2

В классе я хочу установить значение для метки из другого представления.Значение для объекта в другом классе не задано в классе

Первый класс присвоить значение:

#import "ViewDetailPoinmap.h" 
... 

NSLog(@"On a cliqué sur : %@",[NSNumber numberWithInt:sender.tag]); 
//On a cliqué sur : 2130 

ViewDetailPoinmap *detailPoint = [[ViewDetailPoinmap alloc] init]; 
detailPoint.idPoint = [NSNumber numberWithInt:sender.tag]; 
detailPoint.txtIDPoint.text = [NSString stringWithFormat:@"%@", [NSNumber numberWithInt:sender.tag]]; 

Другое класс (ViewDetailPoinmap.h):

@interface ViewDetailPoinmap : UIViewController{ 
NSNumber *idPoint; 
IBOutlet UILabel *txtIDPoint; 
} 
@property (assign, nonatomic) IBOutlet UILabel *txtIDPoint; 
@property (nonatomic, assign) NSNumber *idPoint; 
@end 

(ViewDetailPoinmap.m)

... 
@synthesize txtIDPoint; 
@synthesize idPoint; 


... 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSLog(@"ON arrive sur la page détail du point : %@",idPoint); 
    //ON arrive sur la page détail du point : (null) 

} 

Где проблема ?

ответ

0

Где вы являетесь примером txtIDPoint? Вы указали, где вы пытаетесь установить его текст, но если вы не инициализировали сам ярлык, это будет nil, что согласуется с описанными вами симптомами.

+0

Это не проблема с текстом. NSlog return (null) => NSLog (@ "ON прибывает на страницу détail du point:% @", idPoint); –

+0

Я не понимаю. Где бы вы могли создать экземпляр в первом классе –

1

Вы отметили свойство как assign, и оно относится к переменной в первом классе. Вероятно, эта переменная уже автореализована.

detailPoint.idPoint = [NSNumber numberWithInt:sender.tag]; // here you assign 

Попробуйте изменить здесь @property (nonatomic, assign) NSNumber *idPoint; назначить сохранить

+0

Не забудьте его выпустить (если ARC не включен) в dealloc! – beryllium

+0

уже есть [detailPoint release]; в методе присвоить значение –

+0

Я имею в виду освобождение для свойства _retained_ – beryllium