среда, 9 марта 2016 г.

Swift - Нахождение повторяющихся слов в тексте

Простой алгоритм для нахождения повторяющихся слов в тексте.

let string = "jyt vek zyt jik dax bif bof bak muk joc nut jix gyp dix lix zyp luf muf gap lot dup rac leq jyt box vax geh neh geq nek baf nyc zys moc ryc zop vex nyh jif rok joh lah zoq gih doq rat rix duh gih gah zef ref mip req box mih bik bip loh lyc mux bit neq nyk jyk lyp goc vit baf boh baq rek nyq vuc noh baf jot dyq dyh duc ryk lix dat lyq buk byt liq map moc vep vox zeh jec ryt gac bus jof muc nyx zoh lyx dof bap joq vox loq muq luc rup lac nec dys zap res myf zak bak vat duc meh dyc zos jup nuc mix zes bec ryx nyx rih goq jiq rut byq beq zys get ruh nic jux buf nuc muh mas dic gaf vos nif vox gas byf jyq moc lic nec rih zuq nas rih zoq mup jah vas bas lih dif zof jat dax byc vyp guk jeh mec gaq ruf dax dyp ziq gif deh dyh jyf guq loc luk zyt rak diq meq zyp viq bep nip vit dax dyc vuh byh lap net jiq zat nes nef jap daq los naq doq jas zix nyq vot dis dac vyq luh geh vyh mix mex vip luh joc vex rac dyc byh nek zyk roh gyh vuq jec lyf nop nof ryk byc gik jef mux deq gys ryf byk moq rih rih lyt nek lis vex buk lef rax bas myt zuh dep guf lah bok boq joc gyx nik moc ryh roq bik jec voq lax myx gas lix dep jot moq zek gat jah bep vyc gyt nox voq dax zih byc vec mux buq las jup zoh nef nek jus goh gak gyh end"

var text = string.componentsSeparatedByString(" ") //Разделяем наш текст на эллементы массива
var text2 = [String]()

var dict = [String: Int]()

for item in text {
    if let x = dict[item] {
        dict[item] = x + 1
    } else {
        dict[item] = 1
    }
}

for (keys, value) in dict {
    if value > 1 {
        text2.append(keys)
    }
}


print(text2.sort())

понедельник, 7 марта 2016 г.

Создаем простой Alert в Swift2.1

В этой статье я попробую подробно объяснить как создать простой alert в "яблочном языке" swift.

Для начала запускаем xcode и создаем новый проект.

Выбираем Single View Application ( это для того чтобы создавать наше приложение с нуля ).

Называем наше приложение ShowAlertMessage. Язык обязательно swift и снимаем галочку с Use Core Data ( грубо говоря, это хранилище каких-либо данных ), нам оно конечно же ни к чему.

Переходим на вкладку Main.storyboard. Там мы видим единственный ViewController, он полностью пустой, это и понятно.


Я не буду вдаваться в подробности размеров окна и других начинок, это интуитивно понятно в "Attributes Inspector". 

Ищем в "Object Library" нужную нам кнопку Button и перетаскиваем ее на ViewController.

Назовем ее "Touch me" и связываем с нашим ViewController.




Назовем ее простенько Button.

Теперь нам надо создать переменную showAlertMessage и задать ей нужные параметры.


Итак, что же тут написанно:

UIAlertController - это метод, который отображает пользователю какое-либо подтверждение. У него есть параметры, такие как: заголовок, текст и стиль сообщения.

Дальше нашей кнопке надо добавить действие, addAction - оно придает нашему объекту какое-либо действие, а уже UIAlertAction - это функция, которая обработает определенное действие при касании пользователя кнопки. Тут мы видим handler, он нужен для того, чтобы вернуть что-то перед завершением. В нашем случае ставим nil.

Далее нам надо вызвать контроллер для отображение текущего контроллера и задаем параметры.

Запускаем наш симулятор.

Нажимаем на кнопочку и ву-ля-ля.