Под управлением Android CursorWindow
ограничен 2 МБ данных. Попытка работать с Cursor
, которая имеет больше данных, чем это приведет к тому, что эти «не удалось прочитать» исключения.
Вы можете обойти это, не включая столбцы с большими данными в вашем запросе. Замените SELECT *
более селективным SELECT column1,column2,...
без каких-либо больших столбцов данных.
В целом вы не должны хранить большие данные, такие как изображения или содержимое файла в базе данных Android sqlite. Храните большие данные в файловой системе и просто сохраните путь в своей базе данных.
Объекты, загруженные из *.(nib|xib)
, являются inited с:
- (id)initWithCoder:(NSCoder *)inCoder;
, Таким образом, Вы могли переопределить, это или при выполнении установки после -initWithCoder:
называют, не проблема, которую Вы могли использовать:
- (void)awakeFromNib;
из протокола NSNibAwaking.
Кажется, что Вы хотите реализовать -(void) awakeFromNib
.
Ссылка на протокол NSNibAwaking (требует входа в систему ADC)
Я также собирался упомянуть initWithCoder
по сравнению с awakeFromNib
.
В целом, я переопределяю initWithCoder
при выделении памяти для объекта или устанавливании значений. Когда необходимо сделать некоторую установку после того, как IBOutlets будут соединены, затем переопределят awakeFromNib
. До тех пор переменные экземпляра IBOutlet к другим представлениям и средствам управления не соединены.