2015-10-20 3 views
4

Я пытаюсь сохранить Realm объект (событие) в базу данных царств, но когда я пытаюсь к нему происшествиям о том, что:RLMException - «Binary слишком большой»

Terminating app due to uncaught exception 'RLMException', reason: 'Binary too big' 
*** First throw call stack: 
(0x185c08f5c 0x19a70ff80 0x1004d0d40 0x1004cf850 0x1004fc718 0x1004d1514 0x1004cfc0c 0x1004fc718 0x100960634 0x100047584 0x100962888 0x1005b9244 0x100960100 0x100043750 0x1000438cc 0x18b1963c8 0x18b196344 0x18b17ec6c 0x18b195c5c 0x18b150bdc 0x18b18f548 0x18b18eaac 0x18b15fa10 0x18b15defc 0x185bc05a4 0x185bc0038 0x185bbdd38 0x185aecdc0 0x190c40088 0x18b1c6f44 0x10003cee8 0x19af3a8b8) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

Я пытаюсь сохранить его, как это :

try! realm.write{ 
       self.realm.add(self.theEvent) 
      } 

Мой объект Event выглядит вдоль этих линий:

class Event: Object { 
dynamic var title: String = "" 
dynamic var image: NSData = NSData() 
let items = List<Item>() 
} 

Где элемент находится в основном только другой объективистские t, который хранит одну фотографию.

Я смущен, почему попытка сохранить только 2 фотографии (1 элемент в списке плюс изображение для события) приводит к тому, что в области требуется более 16 МБ.

Спасибо!

ответ

6

В зависимости от того, как вы сериализуете данные изображения (например, если это растровое изображение без потерь), вполне возможно, что эти данные превышают 16 МБ, что, как вы заявили, является максимальным поддерживаемым размером Realm для двоичных свойств.

Когда вы вызываете NSData.length, насколько велики говорят ваши данные?

+0

Wow! 18752502 Bytes ... Итак, разделите на 1024 дважды, чтобы получить 17.884 MB. Почему сжатие одной фотографии в представлении UIImagePNGR настолько велико? Значительно больше, чем сама фотография? Во-вторых, я хочу подтвердить, что объект области может быть больше 16 МБ, только одно отдельное поле NSData не может превышать порог 16 МБ? Большое вам спасибо, потому что ВСЕ вы помогаете :) – alex1511

+0

Да, сами объекты Realm могут быть произвольно заданы (до тех пор, пока доступны ресурсы), но отдельные свойства NSData не могут превышать 16 МБ. – jpsim

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