как передать строковое значение из одного файла .m в другой файл .m - PullRequest
1 голос
/ 27 марта 2012

Привет, я новичок в цели c. У меня есть файл .m, в котором у меня есть строка для передачи.

NSString *passedMonth;

Я передаю это так

KLTile *kltil = [[KLTile alloc] inittempMonth:passedMonth];

temp month - строка в другом файле .m

-(id)inittempMonth:(NSString *)tem{

        tempMonth = [[NSString alloc]init];
        self.tempMonth = tem;
        NSLog(@" temp month....%@",self.tempMonth);

    return self;
}

журнал внутри init дает вывод, но тот же журнал вне метода init не работает ......

Я хочу использовать строку tempMonth за пределами -(id)inittempMonth:(NSString *)tem{ ... есть ли способ использовать строку вне метода init ...

1 Ответ

3 голосов
/ 27 марта 2012

Ваш init метод неверен.Поэтому вы должны изменить его на что-то вроде:

- (id)initWithTempMonth:(NSString *)tem{
{
    self = [super init]; // This line is important
    if (self) {
        self.tempMonth = tem;
        NSLog(@" temp month....%@",self.tempMonth);
    }
    return self;
}

Кроме того, не забудьте объявить tempMonth как сохраняемое свойство в файле .h:

@property (nonatomic, retain) NSString *tempMonth;

Илиесли вы используете ARC:

@property (nonatomic, strong) NSString *tempMonth;

Тогда вы можете записать значение свойства следующим образом:

KLTile *kltil = [[KLTile alloc] inittempMonth:passedMonth];
NSLog(@"Temp month: %@", kltil.tempMonth);

...