Жесткий сбой с использованием [NSDecimalNumber stringValue]

Сбой моего приложения, когда я пытаюсь получить доступ к любому свойству моего NSDecimalNumber amount_before_current_year:

[amount_before_current_year stringValue]
Program received signal:  “EXC_BAD_ACCESS”.

Объект представляет собой NSDecimalNumber, как показано на прикрепленном изображении.

Я создал его в viewDidLoad, он есть в заголовочном файле:

.h
...
    NSDecimalNumber *amount_before_current_year;
...
@property (nonatomic, retain) NSDecimalNumber *amount_before_current_year;
...

также в файле реализации:

@synthesize amount_before_current_year;


    amount_before_current_year = [NSDecimalNumber decimalNumberWithString:@"100.00"];

здесь я называю это снова:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

NSString *test = [amount_before_current_year stringValue]; // HARD CRASH !!!

Итак, я не знаю, что теперь делать, я провел с этим несколько часов .....

есть идеи ??????

спасибо, р. alt text


person mongeta    schedule 27.02.2010    source источник


Ответы (1)


Вам нужно либо сохранить сумму_до_текущего_года, когда вы назначаете ему значение, либо использовать точечную нотацию для его назначения:

self.amount_before_current_year = [NSDecimalNumber decimalNumberWithString:@"100.00"]

Поскольку вы объявили свойство с атрибутом сохранения, синтезированный установщик автоматически отправит сообщение сохранения, а также освободит любое предыдущее значение. Я рекомендую этот подход.

person Rob Jones    schedule 27.02.2010
comment
спасибо, это работает: amount_before_current_year = [[NSDecimalNumber decimalNumberWithString:@100.00] сохранить]; пора перечитывать снова и снова основную цель-С... спасибо!!! - person mongeta; 27.02.2010