Ошибка: 2011-04-27 11: 18: 03.226
PointPeek [174: 707] * Завершение приложения
из-за неисследованного исключения
NSInvalidArgumentException, причина:
'+ [SQLiteDB addRecordToDatabase ::]:
нераспознанный селектор отправлен в класс
0x1fe70'
По сути, сообщение "unrecognized selector sent to...
" означает, что вы пытались сказать объекту (или классу) сделать что-то, что он не знает, как сделать. («селектор» - это другое название метода).
Вы определили свой метод класса SQLiteDB
как экземпляр метод:
- (void) addRecordToDatabase:data: typeName;
Мы знаем, что из-за -
в имени метода (см. Методы и сообщения и Интерфейс класса ). В полученном вами сообщении об ошибке обратите внимание, что оно начинается с +, что означает, что вы пытались вызвать метод для самого класса SQLiteDB
, а не для экземпляра этого класса.
Другими словами, вы пытались сделать это:
[SQLiteDB addRecordToDatabase: symbol.data: symbol.typeName];
когда вам нужно было сделать что-то вроде этого:
SQLiteDB *db = [[[SQLiteDB alloc] init] autorelease]; // an instance
[db addRecordToDatabase: symbol.data: symbol.typeName];
(Обратите внимание, что предыдущие 2 строки кода не так уж и полезны сами по себе. Предположительно, вместо создания экземпляра SQLiteDB
в этом методе вы будете иметь его в качестве переменной экземпляра).