Как я могу получить доступ к функциям, имена которых были затенены? - PullRequest
0 голосов
/ 29 мая 2020

Я создаю подкласс NSDocument. Из методов этого класса я не могу вызвать функцию print(_:String), которая записывает в стандартный вывод, потому что она затеняется NSDocument s func print(withSettings: [NSPrintInfo.AttributeKey : Any], showPrintPanel: Bool, delegate: Any?, didPrint: Selector?, contextInfo: UnsafeMutableRawPointer?).

Я думал, что это возможно чтобы получить доступ к print, добавив к нему префикс имени модуля (или используя что-то вроде global:: в C#), но я не смог определить, к какому модулю он принадлежит. В документации указано, что print включен в Swift Standard Library .

Как я могу получить доступ к часто используемой функции print в этом случае и теневым функциям в целом?

Ответы [ 2 ]

2 голосов
/ 29 мая 2020

Функция стандартной выходной печати является частью структуры Swift. Вы можете назвать это так:

Swift.print("Hello, world!")
0 голосов
/ 29 мая 2020

Я думаю, что сейчас это ошибка, так как произошло нечто подобное. Это было в NSURLSession, где некоторые из функций задачи данных были недоступны, так как они были затенены функциями с тем же именем start, но с другими аргументами. Это в Xcode 11 swift 5 +.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...