В настоящее время я конвертирую свои быстрые файлы в swift 3, и есть исключение во время выполнения, которое включает указатели. Вот код:Swift 3 - отправка указателя необязательно связанной переменной - iOS
var sectionChanges:NSArray? = nil
var rowChanges:NSArray? = nil
databaseView.getSectionChanges(§ionChanges!, rowChanges: &rowChanges!, for: notifications, with: mappings)
фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение
function signature specialization) ->() to @callee_owned (@unowned Swift.UnsafeBufferPointer) -> (@out()), Argument Types : [@callee_owned (@unowned Swift.UnsafeBufferPointer) ->()]> of generic specialization of Swift.StaticString.withUTF8Buffer ((Swift.UnsafeBufferPointer) -> A) -> A
EDIT: Определение getSectionChanges():
open func getSectionChanges(_ sectionChangesPtr: AutoreleasingUnsafeMutablePointer<NSArray>?, rowChanges rowChangesPtr: AutoreleasingUnsafeMutablePointer<NSArray>?, for notifications: [NSNotification], with mappings: YapDatabaseViewMappings)
Пожалуйста, помогите ?!
Можете ли вы переписать свой 'getSectionChanges', чтобы он просто возвращал кортеж с массивами изменений, вместо использования параметров' inout'? Поверьте мне, это сэкономит вам много времени и усилий в будущем. – user28434
Откуда появляется 'getSectionChanges()' и как он определяется? –
@ user28434 Это отличное предложение, проскользнуло мне на ум. Но не могу ли я отправить указатель на необязательную переменную ?! GAH Я ненавижу эти обновления. –