У меня есть серия объектов с необязательным полем «комментарий», которое содержит строку. Я хотел бы извлечь все комментарии и перечислить их как отдельные строки в NSTextField (или любое другое подходящее представление). Так что я сделал это ...NSTextField string with newlines
@IBOutlet var CommentsTextView: NSTextView!
func CommentsInitialize() {
var cmt = ""
for c in document!.commentCards {
cmt += c.info["comment"] ?? "" + "\n"
}
CommentsTextView.string = cmt
}
Текст появляется, но, как вся одна строка работает вместе. Согласно this, он должен просто работать, но новые строки просто ничего не делают (и я пробовал \ n, \ r \ n и \ r). Мне что-то не хватает? Я вижу в IB, что в TextStorage есть параметр в режиме новой строки, но я не могу его настроить, изменение значения ничего не делает.
p.s. Если вы задаетесь вопросом о недостающей «слабой», то, по-видимому, это старая проблема с какао - со слабым там, где она была выпущена и умерла
Ого. Я был уверен, что это как-то связано с NSTextField, я никогда не думал, что это связано с самой строкой. Спасибо, dfri! –
@MauryMarkowitz Счастливые помочь! Просто примечание: это не строка, как таковая, а скорее приоритет операторов, который не ограничивается экземплярами 'String'. В этом случае у этих реализаций есть экземпляры 'String', но вы бы видели такое же поведение, например, попытку разворачивания и последующее добавление' 10' к некоторому необязательному 'Int' (т. Е.' MyInt = myOptionalInt? ? 0 + 10' эквивалентно 'myInt = myOptionalInt ?? (0 + 10)' <- '10 'добавляется только в том случае, если' myOptionalInt' - 'nil'). – dfri