
- •Объявление, инициализация и изменение значения. Виды операторов. Переменные и константы. Виды объектов.
- •Типы данных
- •4. Числовые типы данных. Арифметические операторы. Приведение числовых типов данных.
- •5. Текстовые типы данных. Инициализация строковых значений. Приведение к строковому типу данных. Объединение строк.
- •6. Логические значения. Логические операторы.
- •Как проверить, есть ли значение в переменной с опциональным типом данных?
- •12* Операторветвления switch. Fallthrough. Where.
- •13.Сұрақ. Кортежи в операторе switch
- •Наборы: объявление набора, создание пустого набора, доступ к набору и модификация набора.
- •Оператор while
- •Оператор repeatwhile
- •24 Функции: объявление, синтаксис вызова функции. Примеры.
- •Заметка
- •25.Входные аргументы и возвращаемое значение
- •Глава 15 • Функции 245
- •26 Функция в качестве входного аргумента
- •27.Кортеж в качестве возвращаемого значения
- •28. Функционалдымүмкіндіктер. Функционалдытүрі. Функция аргумент ретінде.
- •29. Күрделіфункционалды тип. Қайтарумәніретінде функция
- •30. Кірістірілгенфункциялар. Функциянышамадантысжүктеу.
- •31. Рекурсивный вызов функций. Безымянные функции.
- •32.Замыкания. Функция как замыкания
- •33. Замыкание.Замыкающие выражение
- •Неявные возвраты из замыканий с одним выражением
- •Сокращенные имена аргументов
- •Создание нового отсортированного массива#
- •Сортировка существующего массива на месте#
- •Сортировка массива с пользовательским заказом#
- •38.Объектно-ориентированное программирование в Swift. Экземпляры
- •43. Собственны еинициализаторы
- •44. Методы в структурах
- •45.Сыныптар құрылымдарға өте ұқсас, бірақ олар бірнеше маңызды нүктелермен ерекшеленеді.
- •Переопределение свойств
- •52.Псевдоним Any.Приведение типа Any.Псевдоним AnyObject
- •53.Инициализаторы
- •54.Деинициализаторы
- •Создание Auto Layout и его составляющих
- •. Понятие Segues. Виды Segues.
- •59. Создание программируемых переходов. (ProgrammaticSeguesiniOs)
- •60 .Передачаданныхмеждуконтроллерами. (Passing Data Between Controllers)
- •Отображение данных в мобильном приложении ввиде списка. Работа с таблицами в iOs (Working With Tables)
- •Понятие делегата и протокола на примере работы с таблицами. Назначение и принцип работы. (Table delegates and protocols)
- •Опциональные протоколы
- •Использование протоколов
- •Делегаты
- •Создание и отображение данных в ячейках (Creating custom table cell)
- •Принципы работы с Core Data (Working With Core Data, Saving to Core Data, Fetching data from Core Data, Deleting items from Core Data)
- •Понятие и назначение rest & crud (Understanding rest & crud)
- •67.Асинхронды
- •68. Создание post запросов (Making post requests)
- •Размеры и другие детали внешнего исполнения[править | править код]
28. Функционалдымүмкіндіктер. Функционалдытүрі. Функция аргумент ретінде.
Жалпы, функция дегенімізбағдарламалықжасақтаманыңаталғанбөлігі
бірнешеретқолжеткізугеболатын код. Функциянышақырупроцесіфункциялықшақыру
депаталады. Функциянышақыруүшіноныңатынжәнежақшаныңқұрылымынжазу
керек, мысалыmyFunction () (мұндай функция жоқ, жәнеқоңыраушалуғатырысу)
олсәтсіздіккеұшырайды, бұл тек мысал).
Функцияларкодтыңқайталануынболдырмайды: олартоптасадысілтемежасау
мақсатындажиіқолданылатын кодерекшеесімарқылы.Swiftарқасындакөптеген
стандарттымүмкіндіктер барбұлпроцестіайтарлықтайжеңілдетугежәнежеделдетуге
мүмкіндікбередідаму. Болашақтасізөзіңіздіңқажеттіліктеріңізгебайланысты
функциялардықалайқұруғаболатындығынбілесіз.Кейбірфункцияларшақырылғанкезде
жасаладымүмкінболатындеректердіберугеболады (немесетіптіқажет)ішіндегі
функцияменқолданылады (басыпшығару (_ :) функциясысияқты). Мұндайдеректер
енгізупараметрлерінемесефункция аргументтерідепаталады. Оларжақшада
шақырылғанфункцияныңатауынанкейінкөрсетіледі.
Берілетінкіріспараметрлері бар функционалдышақырулардыңмысалыкелтірілген
4.16 листингінде.
Листинг 4.16
// входной параметр с именем
anotherFunction(name: "Bazil")
// безымянный входной параметр
print("Это тоже входной параметр")
Бұл код anotherFunctionдепаталатынфункциянышақырады
(мұндай функция жоқ, бұл тек мысал)мәтіндікмәні бар кірісаргументініңаты «Базил».
ЕСКЕРТПЕ Егерсіз осы кодтыойыналаңынажазсаңыз, ондаXcodeсізгеқатетуралы
хабарлайды, өйткенімұндай функция әліжоқ, оләліжарияланбаған
Қатетуралыхабарламапайдаболғанкезде, жұмыстерезесініңжоғарғыжағындағыкүй
сызығындаерекшежағдай (қате) болғанынкөрсететінқызылшеңберпайдаболады. Оны
шерткенденавигациялықжолақпайдаболады(солжақта), жобаныңбарлыққателіктері
туралыақпараттықамтиды .Жәнеоләліжоқ, әлі
жарияланбаған
29. Күрделіфункционалды тип. Қайтарумәніретінде функция
Листинг 4.18
varfoo = "Текст для консоли"
print(foo)
Консоль: Текст для консоли
Құрылғанайнымалы (foo) print (_ :) функциясынажіберіледікірісаргументі (кіріс
параметрі), оныңмәнікөрсетіледіконсоль.Сонымен қатар, мәтіннің шығуын біріктіруге
боладыкейбір параметр (немесе параметрлер) мәні бар ақпарат.
Ол үшін мәтіннің қажетті жерінде кері сызық (қиғаш) таңбасын қолдану керек, содан
кейін жақшағашығыс параметрінің атауын көрсету керек (тізім 4.19).
Листинг 4.19
var bar = "Swift"
print("Яизучаю \(bar)")
Консоль: Яизучаю Swift
Сіз print (_ :) функциясынжиіқолданасыз, әсіресе
Swift-те дамудыүйренукезінде. Бұлпараметрлердіңағымдағымәнінбасқарудыңкеремет
әдісінұсынады,соныменқатаралгоритмдеқателердітабудыңқарапайымтәсілдерінің
бірібағдарламаныңжұмысы.
30. Кірістірілгенфункциялар. Функциянышамадантысжүктеу.
Функционалдысипаттамаларкейдекөрсетедіжақшаішіндегіаргументтердіңаттарын,
соданкейінқоснүктені (мысалы, anotherFunction (name :) немесеsomeFunction (a: b :)))
көрсетуарқылыенгізупараметрлерін беру қажеттілігітуралы.
Егеркіріспараметрініңатыболмаса, ондаоныңорнынаастынсызуорналастырылады
(мысалы, жоғарыдакөрсетілген (_ :) функциясымысал бола алады).
Осылайша, goodFunction (_: text :) көрсетеотырып, сізжасайалатыныңыздыайтады
goodFunctionдепаталатынфункциянықолданыңыз, оны екігежіберукерек
енгізупараметрлері: біріншісіндеатыжоқ, ал екіншісінеатмәтініменбіргеөтукерек.
GoodFunctionшақырудыңмысалы (_: text :) төмендекөрсетілген.
goodFunction (21, мәтін: «Сәлем!»)
Басыпшығару (_ :) функциясынаоралайық (4.17 листинг).
Листинг 4.17
// вывод информации на отладочную консоль
print("Привет, ученик!")
Консоль: Привет, ученик!
Жоғарыдағы код түзетуконсолінежіберілгенмәтіндікөрсетедібасыпшығару (_ :)
функциясына.Мәтінніңконсольғашығарылуықайталанғанынескеріңіз
жәненәтижелердіңшығуаймағында, бірақсоныменбіргежолды беру таңбасы (\ n).
Басыпшығару (_ :) функциясы тек мәтінретіндеғанаемес, соныменқатарқабылдай
Аладыжәнекөрсетілгендейерікті параметр (айнымалынемесетұрақты)
4.18 листингінде.
Листинг 4.18
varfoo = "Текст для консоли"
print(foo)
Консоль: Текст для консоли