Я понятия не имею, что такое "SWIFT", но только из вашего описания потока данных выше:
Как уже говорили другие, разделите двоеточие.Затем в результирующем массиве вам нужно будет отделить пары, т.е. вы получите первый код в [0] с текстом в [1], следующий код в [2] с текстом в [3] и т. Д.. Должно быть просто зациклить массив и сопоставить их.
Два потенциальных перехвата:
Возможно ли иметь двоеточие в потоке данных, которыйне действует как разделитель?Например, есть ли способ избежать двоеточия, чтобы его можно было рассматривать как текст?Если это так, в зависимости от того, как работают правила escape, вам может понадобиться более сложное выражение в разбиении, или оно может быть непрактичным, и вам придется циклически проходить текст за символом.
Можете ли вы доверчиво заявить, что не будет ошибок во входном потоке?Например, могут ли отсутствовать двоеточия или коды без сопроводительных данных или чего-то еще?Если это так, то снова разделение может быть слишком упрощенным.
В худшем случае всегда нужно просто вернуться к циклу по строке с charAt, проверить каждый символ на двоеточие и разбить егодо этого пути.