Сбой при использовании [NSDecimalNumber stringValue] - PullRequest
1 голос
/ 27 февраля 2010

Сбой моего приложения при попытке доступа к любому свойству моего 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

1 Ответ

3 голосов
/ 27 февраля 2010

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

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

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

...