从目标C中的方法访问实例变量

洛伊奇

我无法从一种方法访问变量并遇到错误:EXC_BAD_ACCESS。

在MyClass.h中,我这样声明了var:

@interface ListeHorairesController : UITableViewController <UITableViewDelegate,   UIGestureRecognizerDelegate/*, NSXMLParserDelegate*/>
{
NSString *dateSelected;

...

然后在MyClass.m中,我尝试像这样使用:

- (id)initWithStyle:(UITableViewStyle)style Donnees:(NSArray *)_data HeureDebut:(NSString *)_hDeb Date:(NSString *)_date
{
    self = [super initWithStyle:style];
    if (self){
        dateSelected = _date;
        ...

然后在另一种方法中:

-(void)effectuerMajListes:(NSDictionary *)dictRes
{


    NSDateFormatter *formatter_now;
    NSString        *dateString;

    formatter_now = [[NSDateFormatter alloc] init];
    [formatter_now setDateFormat:@"yyyy-MM-dd"];

    dateString = [formatter_now stringFromDate:[NSDate date]];

    [formatter_now release];

    //NSLog(@"%@", selected_date);

    if(![dateSelected isEqualToString:dateString]){ // <== ERROR POPS HERE

        NSLog(@"Not today : we won't refresh the view.");
        return;

    }
    ...

有人可以解释我为什么会出现此错误,以及如何正确执行此操作吗?

谢谢。

我尝试使用self.dateSelected self->dateSelected尝试将其定义为类属性,并@synthetize在其上成功使用。

Anoop Vaidya

使用MRC时,需要保留该值。

该错误表明该对象不存在。

使用 :

dateSelected = [_date retain];

因为_date是一个参数,您仅将其分配给它,darteSelected并且it(_date)在方法末尾被释放。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章