2015-10-28 2 views
0

Я хочу взять вывод print() в Swift и поместить его в UILabel или UITextView для демонстрационных целей (собирается добавить стиль и т. Д.). Как сохранить/получить вывод print()?Как сохранять/извлекать выходные данные print() в Swift?

+0

Можете ли вы уточнить, чего именно вы хотите достичь? Если у вас есть печать (someTextVar), вы можете просто сказать label.text = someTextVar. Наверное, вы ищете что-то более сложное? –

+0

Ну, печать обрабатывает множество объектов и других приятных вещей, которые я хочу. Я преподаю класс. Я хочу стилизовать печать, чтобы сделать ее более читаемой. Иногда консоль трудно идентифицировать. – Spentak

+1

Почему вы не можете напрямую передать эти вещи методу label.text? label.text = "Наш объект \\ (объект)" будет работать. Можете ли вы придумать хотя бы один сценарий, когда вывод print() будет отличаться от идентичного присвоения label.text? Я спрашиваю вас об этом, потому что я все еще пытаюсь понять, чего вы хотите достичь –

ответ

1

На мой взгляд, вы что-то слишком смущаете. Если ваша цель состоит в том, чтобы передать строку литерала:

print("Your complicated literal with some \(objects)") 

вы можете легко присвоить его текстовое свойство UILabel:

label.text = "Your complicated literal with some \(objects)" 

более общем, все, что может быть передано print() могут быть назначены text Недвижимость UILabel.

Если ваша цель состоит в том, чтобы одновременно выводить что-то на консоль, а также назначить его UILabel затем просто создать вспомогательную функцию:

func myCustomPrint(inputString: String) { 
    print(inputString) 
    myLogLabel.text = inputString 
} 

Вы можете позвонить:

myCustomPrint("Your complicated literal with some \(objects)") 

И вы получите сообщение, напечатанное на консоли и отображаемое на этикетке.

Если вы обеспокоены тем, что некоторое форматирование будет потеряно (например, «Необязательный (ваш_переменный)»), убедитесь, что этого не будет. Раньше я использовал обычный UILabel для ведения журналов для виджета центра уведомлений, и результат был идентичен print()

Смежные вопросы