Я пытаюсь вызвать метод в MacRuby, который определен так:
NSPropertyListSerialization
---------------------------
+ (id)propertyListWithStream:(NSInputStream *)stream
options:(NSPropertyListReadOptions)opt
format:(NSPropertyListFormat *)format
error:(NSError **)error
Последний аргумент должен быть указателем, поэтому я делаю это:
err = Pointer.new '@'
data = NSPropertyListSerialization.propertyListWithStream plist,
options: KCFPropertyListMutableContainers,
format: KCFPropertyListBinaryFormat_v1_0,
error: err
Однако я получаю эту ошибку:
expected instance of Pointer, got `200' (Fixnum) (TypeError)
Трассировка стека происходит от строки error: err
.
Эта ошибка одинакова независимо от типа объекта передано как error
.Это может быть ноль, указатель, строка или совершенно произвольный тип, ошибка остается прежней.
У меня есть понятия не имею откуда взято 200
fixnum.Конечно, не мой код (в этом скрипте чуть больше кода, чем то, что я вставил).
Обновление: Решено с помощью @whitequark и @alloy.Это было для редактирования закладок Safari в iOS Simulator.Вы можете прочитать / записать двоичные plist-файлы здесь