Как принимать текст, разбивая его, по определенному количеству строк?

swift
xcode

#1

Добрый день. Есть textView на первом экране и введенный текст передается на другой экран CollectionViewController, где на Item закреплен также textView.
Нужно, чтобы элемент коллекции принимал определенное количество строк (например 5), а если введеный текст содержит больше, то добавлять элементы в коллекцию, которые будут вмещать оставшийся текст также по 5 строк.
Подскажите, как это можно реализовать.


#2

Сперва разделите весь текст на массив строк

let stringsArray = text.components(separatedBy: "\n")

далее разбейте массив строк на нужное кол-во частей

let size = 5
let chunksArray = stride(from: 0, to: stringsArray.count, by: size ).map {
    Array(stringsArray [$0 ..< Swift.min($0 + size , stringsArray.count)])
}

#3

Нужно, чтобы именно в элементе коллекции было не больше 5 строк, т.к. поменяв стиль текста в элементе коллекции количество строк может измениться


#4

Это у вас какое-то тестовое задание или вам так захотелось сделать?
Просто я пока не пойму для чего это нужно.


#5

Просто захотелось) Интересно возможно ли это реализовать


#6

Возможно все. Зависит только от гемороя, с которым придется столкнуться.
Вот, пожалуйста
https://developer.apple.com/forums/thread/126427


#7

Большое спасибо за помощь!