2010-10-05 2 views
0

Я пошел на простой подход, я создал некоторые NSString переменные, которые я установил, когда нагрузка вид ...iPhone, нужно проверить, изменились ли значения, прежде чем я обновляю свою базу данных?

strKeptDesc = txtDescription.text; 

NSLog(@"KDesc =#%@# CDesc =#%@#",strKeptDesc, txtDescription.text); 

который работает как освобожденный и выходные значения, которые вы ожидали бы.

Однако в моей дб фиксации функцию, когда я проверяю переменные я получаю ошибки ...

NSMethodSignature: 0x5c3fa80># CDesc =#Gas bill3# 
Program received signal: “EXC_BAD_ACCESS”. 

В моей ч файл у меня есть

NSString *strKeptDesc; 
} 

@property (nonatomic, retain) NSString *strKeptDesc; 

Я синтезировать тоже.

ответ

3
strKeptDesc = txtDescription.text; 

в этой линии вы просто присвоить строковое значение вашей Ивар и ваши методы доступа не дозвонились - так что если вы присваиваете autoreleased строку может быть освобожден и стал инвалидом. Вы должны написать

self.strKeptDesc = txtDescription.text; 

вместо этого, так strKeptDesc будут сохранены в инкубаторе и остаются в силе за пределами текущего метода.

Смежные вопросы