См. Регистрация :
Форматирование сообщений журнала
Для форматирования сообщения журнала используйте стандартную строку формата NSString или printf, ...
и Спецификаторы формата строки для стандартных спецификаторов строки формата, таких как %@
и %d
.
В вашем случае:
os_log("foo: %@ %@", log: .default, type: .debug, x, y.description)
Строка формата ограничена статическими строками для предотвращения
(непреднамеренное) расширение спецификаторов строки формата. Вот пример, демонстрирующий
проблема с использованием NSLog()
, потому что это не ограничивает формат
в постоянные строки:
let s = "50%"
NSLog("\(s)percent")
// Output: 500x0ercent
%p
ожидает указатель на список аргументов переменной, который
не предоставлен. Это неопределенное поведение, оно может привести к сбоям
или неожиданный вывод.