Я пытаюсь создать приложение, которое позволит пользователю переключаться между следующими / предыдущими файлами текстовых документов в папке, так как приложения для просмотра фотографий часто разрешают просмотр следующего / предыдущего изображения. Мне кажется, что наиболее эффективный способ сделать это - заменить документ в текущем открытом окне. Отредактированный ответ на мой предыдущий вопрос по теме c предполагает, что это действительно возможно. Я хочу иметь возможность использовать архитектуру документа для открытия и сохранения; Я не хочу обобщать структуру, я пытаюсь сделать ее простой. Я пытался использовать код, рекомендованный в предыдущем вопросе, следующим образом:
let prevDocument = windowController.document
let newDocument = Document(contentsOf: newURL, ofType: myDocumentType) // add do-catch
NSDocumentController.shared.addDocument(newDocument);
newDocument.addWindowController(windowController)
prevDocument.close()
Но когда я делаю это, команда prevDocument.close () выдает мне странную ошибку «Неоднозначная ссылка на member» close () «». Другой поток сообщает мне, что «ошибка такого рода появляется, когда существует более одной переменной / метода с одинаковым именем». Хорошо, но какие, и как это исправить? Под ошибкой «неоднозначная ссылка» я получаю два сообщения: «Найден этот кандидат (Foundation.Stream)» и «Найден этот кандидат (AppKit.NSBezierPath)». Краткий взгляд на документы для Foundation.Stream и NSBezierPath показывает, что я пытаюсь работать с Foundation.Stream, а не с NSBezierPath, но я понятия не имею, как сказать системе, что (или почему NSBezierPath будет участвовать в первое место).