0
Я пытаюсь использовать Ruby Motion для добавления записи в AddressBook. Я не могу понять, как правильно создать экземпляр параметра CFErrorRef.Как создать параметр CFErrorRef, необходимый для изменения ABAddressBook через Ruby Motion
error = nil # compiles but won't capture an error properly
# Here are my numerous attempts:
#error = Pointer.new(:object) expected instance of Pointer of type `^{__CFError}', got `@' (TypeError)
#error = Pointer.new('^{__CFError}') Can't find pointer description for type `^{__CFError}'
#error = Pointer.new('{__CFError}') Can't find pointer description for type `{__CFError}'
#error = Pointer.new('__CFError') Can't find pointer description for type `__CFError'
#error = Pointer.new(CFError.type) uninitialized constant AppDelegate::CFError (NameError)
#error = Pointer.new(CFErrorRef.type) uninitialized constant AppDelegate::CFErrorRef
p = ABPersonCreate()
raise error[0] unless ABRecordSetValue(p, KABPersonFirstNameProperty, "Guy", error)
raise error[0] unless ABRecordSetValue(p, KABPersonLastNameProperty, "Argo", error)
ab = ABAddressBookCreate()
raise error[0] unless ABAddressBookAddRecord(ab, p, error)
raise error[0] unless ABAddressBookSave(ab, error)
NSLog("Record successfully added.")
Предложения приветствуются. Guy
Выполнены ли какие-либо из ваших вызовов 'ABRecordSetValue()' на самом деле? или вы добираетесь до «Запись успешно добавлена».? –
@ Paul.s, когда я пытаюсь выполнить его код, это 'ABRecordSetValue (...)' это то, что выбрасывает исключение: 'ожидаемый экземпляр указателя типа '^ {__ CFError}', получил' @ '(TypeError) ' –
@DylanMarkow, если я полностью копирую его в точности: S –