Swift

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

SWIFT


LESSON 1:
Hello iOS!

LESSON 2:
A Tour of Xcode and the iOS Simulator

LESSON 3:
Introducting Swift

LESSON 4:
Functions

LESSON 5:
Closures

LESSON 6:
Error Handling

LESSON 7:
Object-Oriented Programming With Swift

LESSON 8:
Supporting Multiple Device Types

LESSON 9:
Introduction to UIKit and Adaptive Layout

LESSON 10:
Introduction to Storyboards
Version History

Date Version

2014-09-09 Swift 1.0

2014-10-22 Swift 1.1

2015-04-08 Swift 1.2

2015-09-21 Swift 2.0

2016-09-13 Swift 3.0

2017-09-19 Swift 4.0

2018-03-29 Swift 4.1

2018-09-17 Swift 4.2

cs.otago.ac.nz

COSC346 Lectures
4-5 minutes

Object-Oriented
Programming
COSC346
Lectures
Date Title Reading Example code

Budd, 2002

 Ch.1 - Thinking Object-


Oriented

Mac Technology Overview,


Apple Inc.
Tuesday Course overview
1  Introduction
(PC/HB)
Jul 10 th
 Creating Software
Products for the Mac
Platform

Hillegass et al., 2015.

 Introduction
Xcode Overview
The Swift Programming
Language

 The Basics
 Basic Operators
Thursday Introduction to Swift  String and Characgters
2 
(PC)  Collection Types
Jul 12th  Control Flow
 Functions

Hillegass et al., 2015.

 Swift Types
Budd, 2002

 Ch.3 - Classes, Objects,


Tuesday and Methods
3 Classes and objects (PC) 

Jul 17th The Swift Programming


Language

 Classes and Structures


The Swift Programming
Language

 Initialization
 Properties
Thursday Working with objects
4  Methods 
(PC)  Classes and Structures
Jul 19th
Budd, 2002

 Ch.5.6 - Constructors
 Ch.5.7 - Destructors
Tuesday
5 Inheritance I (PC)
Jul 24th
Thursday
6 Inheritance II (PC)
Jul 26th
Tuesday
7 Polymorphism (PC)
st
Jul 31
Thursday Memory management
8
(PC)
Aug 2nd
Tuesday Object interconnections
9
(PC)
Aug 7th
Thursday
10 Swift Libraries (PC)
Aug 9th
Tuesday Object oriented design
11
(PC)
Aug 14th
Thursday Object oriented design
12
patterns (PC)
Aug 16th
Tuesday
13 OOP review (PC)
Aug 21st
Thursday
14 Introduction to UI (PC)
rd
Aug 23
Study break

Assignment 1 due, Monday, Sep 3rd

Tuesday Application
15 programming on the  Timer App Basic
Sep 4th Mac (HB)

Thursday Model View Controller


 Timer MVC
16 (HB)
Sep 6th
Tuesday Cocoa: Windows and
View frame/bounds
17 Views (HB) Xcode project (ZIP)
Sep 11th
Thursday Cocoa: Multiple  Timer App multi-
18 window
windows (HB)
Sep 13th
 Timer App First
Responder
Tuesday Cocoa: Mouse and  Responder chain
19 Keyboard Events (HB) demo (ZIP)
Sep 18th  Mouse events demo
(ZIP)

 Example of
Delegate Command
Thursday
Cocoa: Bindings (HB) Line
20
 NSWIndow
Sep 20th Delegate Example

 Hotter Colder App


Tuesday Cocoa: Controllers and
 Timer App Binding
21 Undo (HB) With Object
Sep 25th Controller
 Timer App Undo
Redo

 Simple App to set


Thursday Cocoa: Preferences user preferences
22 (HB)  Timer App with
Sep 27th Preferences settings

Tuesday
23 UI design (HB)
Oct 2nd
Thursday Usability and visual
24
design (HB)
Oct 4th
Assignment 2 due, Friday, Oct 5th

Tuesday
25 UI review (HB)
th
Oct 9
Thursday
26 TBC
Oct 11th

Last updated: 2nd Oct 2018 12:21

Chương 2 - Lập trình Swift 3

1. Giới thiệu Swift 3, so sánh với Object C


2. Các quy tắc khi viết code với Swift
3. Các quy tắc khi viết code với Swift
4. Khai báo biến với let và var
5. Thống nhất quy tắc đặt tên biến
6. Khai báo tên biến bằng hình ảnh
7. Các kiểu dữ liệu cơ bản: Int, Float
8. String và các hàm xử lý
9. Toán tử số học
10. Các lệnh điều kiện rẽ nhánh: if else, guare else, switch case
11. Biểu diễn thuật toán rẽ nhánh bằng ngôn ngữ tự nhiên và sơ đồ khối
12. Vòng lặp: For , While
13. Break, Continue và cách sử dụng
14. Mảng: một chiều và đa chiều + 2 cách khai báo mảng: [] và Array<>
15. Thao tác với mảng: truy xuất phần tử; thêm, xoá phần tử
16. Dictionaries và 2 cách khai báo
17. Liên hệ dictionary và cấu trúc Json
18. Kiểu Optionals trong Swift
19. Phân biệt và sử dụng ? Và ! Khi unwrap Optionals
20. Kiểu dữ liệu hỗn hợp Tuples
21. Hàm và các cách khai báo hàm, nâng cao với closure
22. Struct, Class và Enum & cách phân biệt
23. Cách sử dụng Struct, class và Enum
24. Protocol và ứng dụng
25. Hướng đối tượng trong Swift

Chương 3: Lập trình IOS cơ bản

3.1. Thiết kế giao diện với storyboard

1. Màn hình chờ LaunchScreen.storyboard


2. Màn hình thiết kế Main.storyboard

3.2. Quản lý toạ độ và các đối tượng

1. Hệ trục toạ độ trong Xcode


2. Thanh thuộc tính 1 đối tượng
3. View controller scene

3.3. Giới thiệu UIView

1. Các thuộc tính cơ bản


2. Ý nghĩa và ứng dụng của UIView

3.4. Giới thiệu Viewcontroller và ViewCycle

1. Tạo 1 file Viewcontroller


2. Các hàm mặc định trong file Viewcontroller
3. ViewCycle

3.5. UILabel, UIButton, UITextField.

1. Tạo đối tượng UILabel, UIButton, UITextField.


2. Các thuộc tính cơ bản: màu sắc, fonts, …
3. Các thuộc tính đặc trưng: Placeholder text, …
4. Action và Outlet. Ánh xạ các đối tượng
5. Tuỳ chỉnh thuộc tính các đối tượng
6. Tuỳ chỉnh các đối tượng nâng cao với swift File
7. Bắt các sự kiện tương tác các đối tượng: Click button, ngưng nhập textField...
8. Ứng dụng máy tính bỏ túi (Có thể update nhiều demo khác)

3.6. AutoLayout với UIView

1. Tìm hiểu về các kích thước màn hình khác nhau


2. Các thuộc tính của một đối tượng
3. Phân tầng các UIView và ý nghĩa
4. Bound và Frame của một đối tượng
5. AutoLayout với Pin
6. AutoLayout với kéo thả
7. Các thuộc tính của Constraint
8. Thiết kế giao diện với AutoLayout: Form đăng nhập cơ bản.

3.7. SizeClass với UIView

1. Vấn đề thiết kế giao diện với các chiều khác nhau


2. Size class
3. Thiết kế giao diện với SizeClass: Form đăng nhập auto layout.

3.8. UIImage

1. Tỷ lệ hình ảnh và độ phân giải màn hình thiết bị Appple


2. Quản lý hình ảnh với Assets
3. Kĩ năng lựa chọn hình ảnh và vấn đề bản quyền
4. UIImageView và UIImage
5. Load hình Local từ hình ảnh trong app
6. Load hình Online từ đường link url

3.9. Camera & Photo

1. UIImagePickerController
2. Chọn ảnh từ thư viện ảnh của thiết bị.
3. Chụp ảnh từ thiết bị thật.

3.10. UIAlertview

1. Tạo thông báo với UIAlertController


2. Gán các đối tượng vào UIAlertView
3. Bắt sự kiện người dùng tương tác với các đối tượng trong AlertView
4. Ứng dụng thiết kế Forrm login sử dụng AlertView

3.11. Chuyển màn hình

1. StoryBoard id
2. Segues: Phân loại và ứng dụng
3. NavigationController
4. Custom NavigationBar
5. Bắt sự kiện tương tác item navigation bar
6. Chuyển màn hình bằng code
7. NSUser Default và vấn đề truyền tham số giữa các màn hình
8. Sử dụng biến thông thường để truyền tham số
9. Ứng dụng: thiết kế ứng dụng chọn món ăn.
10. Ứng dụng: thiết kế ứng dụng cung hoàng đạo.

3.12. UISlider

1. UISlider và các thuộc tính cơ bản


2. Cấu hình UISlider
3. Bắt giá trị slider
4. Tương tác người dùng với Slider
5. Xoay dọc, Xoay ngang UISlider trên giao diện
6. Custom giao diện của UISlider

3.13. NSTimer

1. NSTimer và vấn đề xử lý thời gian trong ứng dụng


2. Cấu hình NSTimer
3. Function trong timer
4. Hiệu ứng animation với UIImage và NSTimer
5. Màn hình chờ ứng dụng với NSTimer

3.14. Gesture: Bắt sự tương tác của khách hàng với thiết bị.

1. Tap Gesture
2. Long Press Gesture
3. Rotation Gesture
4. Pinch Gesture
5. Swipe Gesture
6. Pan Gesture
7. Screen Egde Pan Gesture
8. Shake Gesture

3.15. UIWebview

1. Hiện thị một trang Web với WebView


2. Hiện thị một đoạn html với WebView Long Press Gesture
3. Ứng dụng: Tạo trình duyệt web đơn giản với WebView

Chương 4: Các đối tượng hiển thị dữ liệu

UIScrollView

1. Cấu hình ScrollView cơ bản


2. Cấu hình ScrollView với nhiều đối tượng bên trong
3. Paging và bắt sự kiện chọn trên ScrollView
4. Code ScrollView
5. Animation với SrollView

UIPickerView

1. Cấu hình PickerView cơ bản


2. Tittle PickerView
3. Cấu hình PickerView với hình ảnh
4. Tạo vòng lặp PickerView
5. Chọn 1 dòng PickerView
6. Bắt sự kiện người dùng chọn 1 dòng PickerView
7. Bắt thời gian với PickerDate
8. Custom format datetime trong PickerView

UITableView

1. Cấu hình UITableView cơ bản


2. Custom cell trong TableView
3. Cấu hình TableView nhiều Sections
4. Nguyên lý hoạt động các hàm trong tableView
5. Thêm hoặc xoá một dòng trong TableView, di chuyển một dòng trong TableView
6. Tạo diễn hoạt Annimation cho Cell
7. Bắt giá trị từng dòng trong TableView
8. Chuyển màn hình và truyền tham số với tableView
9. Auto Layout trong tableViewCell
10. Code TableView

UICollectionView

1. Cấu hình UICollectionView


2. Custom Item
3. Cấu hình CollectionView nhiều Sections
4. Thêm hoặc xoá một dòng trong CollectionView
5. Tạo diễn hoạt Annimation cho Item
6. Bắt giá trị từng dòng trong CollectionView
7. Tuỳ chỉnh giao diện CollectionView
8. Bắt sự kiện scroll khi tương tác với CollectionView

Chương 5: Âm Thanh và Videos

AVFoundation

1. Play nhạc local với AVAudioPlayer.


2. Play nhạc online từ một đường link mp3.
3. Pause, Stop, Volume.
4. Lấy tổng thời lượng của bài nhạc Online.
5. Lấy thời gian hiện tại của bài hát đang phát
6. Kết hợp Slider điều chỉnh thời gian phát.
7. Play nhạc Online từ mp3.zing.vn.

AVKit

1. Phát Video từ local.


2. Phát Video từ Internet.

Chương 6: Local Data

CoreData

1. Giới thiệu cơ sở dữ liệu CoreData.


2. Tạo một cơ sở dữ liệu CoreData.
3. Truy xuất cơ sở dữ liệu CoreData.
4. Xử lí cơ sở dữ liệu: Thêm, xoá, sửa

SQLite

1. Tạo một cơ sở dữ liệu SQLite.


2. Truy xuất cơ sở dữ liệu SQLite.
3. Xử lí cơ sở dữ liệu: Thêm, xoá, sửa.
4. Ứng dụng: Viết ứng dụng từ điển Anh - Việt
5.
Chương 7: Online Data

WebService

1. Hướng dẫn đăng kí hosting free


2. Cấu hình database trên Server
3. Kỹ thuật xuất JSON với PHP
4. Truyền tham số đến Web Server (GET/POST)
5. Cấu hình Server cho phép upload file
6. NSURL
7. NSURLConnection
8. NSURLRequest
9. NSURLSessionDataTask
10. NSURLSession
11. Kĩ thuật xử lý JSON trong app
12. TableView với dữ liệu webservices

New FireBase

1. Cài đặt FireBase với cocoapod


2. Cấu trúc dữ liệu firebase
3. Tổ chức và lưu trữ database trên firebase
4. Realtime với firebase
5. Đọc dữ liệu từ database
6. Ghi dữ liệu lên database
7. Các câu truy vấn NoSQL
8. Storage và lưu trữ file

Mulithread

1. DispatchQueue
2. Concurrent và Serial
3. Sync và Async
4. DispatchWorkItem
5. DispatchGroup
6. Multithread với tableView
7. Multithread với Webservices

Chương 8: NODEJS & SOCKET IO

NODEJS

1. Giới thiệu NodeJS


2. Cài đặt NodeJS
3. Lập trình NodeJS: Biến.
4. Lập trình NodeJS: Các hàm cơ bản phải biết.
5. Lập trình NodeJS: Mảng
6. Lập trình NodeJS: Sử dụng Functions.
7. Lập trình NodeJS: Tạo & đóng gói Modules.
8. Lập trình NodeJS: Lập trình Hướng đối tượng.
9. Khởi tạo Buffer.
10. Đọc và truy xuất nội dung của File
11. Lập trình NodeJS: Kết nối cơ sở dữ liệu MySQL
SOCKET IO (Real time)

1. Socket: Web Server với Socket.


2. Web Client: Truyền tín hiệu đến Server với JavaScript SocketIO
3. Web Client: Nhận tín hiệu từ Server với JavaScript SockerIO
4. iOS Client: Truyền tín hiệu đến Server với thiết bị iOS
5. iOS Client: Nhận tín hiệu từ Server với thiết bị iOS

Ứng dụng: Viết ứng dụng Chat với NodeJS & SocketIO
Ứng dụng: Viết ứng dụng Game kéo co Online

Chương 9: Capabilities

Push Notification

1. Push Notifications từ local App


2. Dùng Push Notifications từ server của Firebase API
3. Push Notifications từ SERVER riêng.
4. Audio với Background mode.
5. MultipeerConectivity

Chương 10: Các kiểu lập trình chuyên nghiệp

MVC - Model View Controller

1. Giới thiệu Design Pattern


2. Struct và Class
3. Function và code hướng đối tượng
4. Xây dựng Model
5. Xây dựng View
6. Xây dựng Controller
7. Xử lý luồng dữ liệu trong MVC

MVVM cơ bản

1. Giới thiệu MVVS, so sánh MVC & MVVM


2. Viết ứng dụng Từ điển Anh - Việt theo mô hình MVVM
3. Lưu ý: Chúng ta sẽ được học chuyên sâu MVVM ở lớp nâng cao

Chương 11: Library & API

SWRealViewController (slide menu)

1. Cài đặt thư viện SWRealViewController


2. Cấu hình rootView
3. Cấu hình slideMenu
4. Custom slideMenu

Facebook API (login, share, like)

1. Cài đặt Facebook API sử dụng cocoapod


2. Login người dùng sử dụng safari và app
3. Lấy session khi người dùng login
4. Lấy thông tin người dùng
5. Like và share

Chương 12: Map & GPS

Map Kit

1. Hiện thị một toạ độ cho trước lên MapKit, gán annotation vào toạ độ.
2. Custom Annotation.
3. Bắt sự kiện chạm ngón tay vào MapKit, chuyển đổi vị trí chạm thành toạ độ thực trên bản đồ.
4. Đo khoảng cách giữa hai điểm trên bản đồ.
5. Chỉ đường đi giữa hai điểm trên bản đồ, vẽ đường đi lên bản đồ

Google API

1. Cài đặt Google API với coacoapod


2. Đánh dấu các địa điểm trên bản đồ kèm theo thông tin cho địa điểm đó
3. Chỉ dẫn đường đến các địa điểm cần tìm
4. Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khu ô nhiễm…
5. Tình trạng giao thông các khu vực

Core Location

1. Bắt vị trị thực của khách hàng.


2. Chuyển đổi toạ độ thành vị trí địa lí.
3. Chuyển đổi vị trí địa lí thành toạ độ trên bản đồ.

Chương 13: Animation

CoreGraphics

1. Tạo UIView SubClass, và cách sử dụng DrawView


2. Vẽ đường Line
3. Vẽ đường Path
4. Vẽ hình Rectangle
5. Vẽ hình Eclipse & Circle
6. Tô màu Line với Color
7. Vẽ hình Arc
8. Tạo đổ bóng cho hình.
9. Tinh chỉnh/ lọc hình ảnh với Graphics Context
10. Vẽ hình ảnh theo sự di chuyển ngón tay trên màn hình

UIView Animation

1. Tạo diễn hoạt với UIView.animate


2. Bắt trạng thái Animation đang diễn ra với Completion
3. Tạo diễn hoạt có Delay.
4. Tạo diễn hoạt với lực đàn hồi.
Core Animation

1. CGAffineTransformMake
2. CGAffineTransformMakeTranslation
3. CGAffineTransformMakeScale
4. CGAffineTransformMakeRotation
5. CGAffineTransformTranslate
6. CGAffineTransformScale
7. CGAffineTransformRotate
8. CGAffineTransformInvert
9. CATransform3DEqualToTransform
10. CATransform3DMakeTranslation
11. CATransform3DMakeScale
12. CATransform3DMakeRotation
13. CATransform3DTranslate
14. CATransform3DScale
15. CATransform3DRotate
16. CATransform3DConcat
17. CATransform3DInvert
18. CATransform3DMakeAffineTransform
19. CATransform3DIsAffine
20. CATransform3DGetAffineTransform

Chương 14: Lập trình iOS với mô hình MVC

Bạn muốn trở thành một lập trình viên chuyên nghiệp? Bạn muốn tối ưu code và tái sử dụng
code? Hãy cùng chúng tôi tìm hiểu và sử dụng các design pattern - một trong những design
pattern cơ bản và thông dụng nhất chính là MVC.

1. Giới thiệu mô hình MVC


2. Ôn tập kiến thức
1. Ôn tập Struct, class, enum, protocol, extension
2. Ôn tập hướng đối tượng và kế thừa
3. Ôn tập tạo func các dạng
3. Phương pháp chia model, view và controller
1. Khai báo cấu trúc các đối tượng trong model
2. Điều khiển luồng dữ liệu và xử lý trong controller
3. Hiển thị dữ liệu trong View
4. Demo đổ dữ liệu cơ bản tableView với mảng và MVC
1. Tạo mảng chứa dữ liệu
2. Khai báo cấu trúc các đối tượng, các hàm khởi tạo trong model
3. Xử lý luồng và khởi tạo tableView trong controller
4. Hiển thị dữ liệu trong Main Storyboard
5. Ôn tập Json và cách đọc Json
1. GET
2. POST
3. Truyền các tham số
4. Header/Type
6. Xử lý đọc và load dữ liệu Json trong controller
7. Demo đổ dữ liệu cơ bản tableView với Json và MVC
8. Demo đổ dữ liệu phức tạp, nhiều lớp với Json và MVC
9. Định hướng viết MVC cho project thực tế của học viên
10. MVC với libary: Alamofire
Chương 15 Lập trình iOS với mô hình MVVM

Bạn đã nắm vững design pattern MVC và muốn học được nhiều hơn thế nữa? Bạn muốn app
của mình xử lý nhanh hơn? Chúng ta hãy cùng nhau thử trải nghiệm và cảm nhận Bind Data
với MVVM design pattern.

1. Các thành phần của MVVM pattern


1. Model - Khai báo cấu trúc các đối tượng, các hàm khởi tạo
2. View - tương tự như MVC, được xem là giao diện người dùng
3. View-Model: Tính trừu tượng của các thuộc tính public và các lệnh trong View.
4. Binder - Đây là chìa khoá của mô hình MVVM, nhiệm vụ đồng bộ dữ liệu giữa View-
model và View.
2. Xây dựng Model với Struct
3. Xây dựng View-Model
4. Xây dựng Model-View
5. Tìm hiểu Bind data
6. Demo bind data với String
7. Xây dựng binder
8. Demo đổ dữ liệu Json với MVVM và tableView: JSON đơn giản
9. Demo đổ dữ liệu Json với MVVM và tableView: JSON phức tạp
10. MVVM với library: Alamofire

Chương 16: Auto Layout toàn tập A-Z

Bạn đang quan tâm việc xây dựng layout cho nhiều kích thước màn hình khác nhau? Bạn
muốn xây dựng layout một lần duy nhất nhưng xài được trên nhiều kích thước khác nhau?
Với Swift, bạn hoàn toàn có thể làm được điều đó. Hãy cùng chúng tôi tìm hiểu và nắm trong
tay một trong những tính năng mạnh mẽ nhất của Swift: AutoLayout và Sizeclass

1. Toạ độ trên màn hình


2. Bound và Frame
3. 4 thuộc tính cơ bản của một đối tượng trong Auto Layout
4. Autolayout sử dụng Pin.
1. Constrain to margin
2. Top, bottom, leading,trailing
3. Width, Height
4. Equal width, equal height
5. Aspect ratio
6. Constant
7. Priority
8. Multiplier
5. Autolay out sử dụng chuột
1. Horizontal spacing
2. Vertical spacing
3. Top, bottom, leading,trailing
4. Width, Height
5. Equal width, equal height
6. Aspect ratio
6. Demo Autolayout 1 đối tượng với Supper view
7. Demo Autolayout 2 đối tượng với nhau
8. Demo giao diện máy tính cơ bản với autolayout
9. Autolayout ngược
1. Xác định toạ độ x, y: Thuộc tính con sẽ quyết định kích thước của đối tượng chứa nó
2. Width, heigh tự động thay đổi dựa vào các đối tượng con
10. Áp dụng Autolayout tạo form đăng nhập
11. Autolayout một cell của tableView
12. Autolayout và scrollView
13. Autolayout bằng code: Giới thiệu NSContrains và các thuộc tính.
14. Demo viết 1 đối tượng Uiview cơ bản sử dụng code
15. Demo form đăng nhập sử dụng code autolayout
16. Dùng code Auto layout tạo animation
1. Animation kéo giãn 1 đối tượng.
2. Animation kéo giãn 1 đối tượng với Scrollview.
17. Giới thiệu size class và các loại kích thước màn hình
18. Demo Sizeclass cơ bản với màn hình dọc và ngang
1. Màn hình dọc giao diện 2 Uiview cạnh nhau
2. màn hình ngang giao diện 2 Uiview xếp chồng lên nhau
19. Demo sizeclass cơ bản 2 kích thước màn hình khác nhau:
Tạo các giao diện khác nhau cho các kích thước màn hình khác nhau
20. Demo form đăng nhập sử dụng sizeclass

Chương 17: Tích hợp quảng cáo kiếm doanh thu

1. Tìm hiểu các nhà cung cấp quảng cáo đang có trên thị trường
2. Hướng dẫn đăng kí & tạo tài khoảng Google Adsense
3. Hướng dẫn nhúng quảng cáo AdMob vào trong app
4. Hướng dẫn cách nhận tiền từ Google

Chương 18: Submit ứng dụng lên AppStore

1. Giới thiệu quy trình Submit ứng dụng lên AppStore.


2. Các bước chuẩn bị trước khi Submit App.
3. Hướng dẫn tạo Identifier (Bundle ID, AppID ).
4. Hướng dẫn cấu hình App trên iTunes.
5. Hướng dẫn tạo file Provisioning
6. Hướng dẫn archive ứng dụng từ Xcode lên iTunes.
7. Hướng dẫn archive file ipa cho ứng dụng

Chương 19: Ứng dụng thực tế

16.1 - Ứng dụng 1 (Tài liệu sẽ được phát riêng cho học viên tại lớp học)

16.2 - Ứng dụng 2 (Tài liệu sẽ được phát riêng cho học viên tại lớp học)

16.3 - Ứng dụng 3 (Tài liệu sẽ được phát riêng cho học viên tại lớp học)

-------- Nâng cao -------

Phần 2: Lập trình iOS với mô hình MVC

Bạn muốn trở thành một lập trình viên chuyên nghiệp? Bạn muốn tối ưu code và tái sử dụng
code? Hãy cùng chúng tôi tìm hiểu và sử dụng các design pattern - một trong những design
pattern cơ bản và thông dụng nhất chính là MVC.

1. Giới thiệu mô hình MVC


2. Ôn tập kiến thức
1. Ôn tập Struct, class, enum, protocol, extension
2. Ôn tập hướng đối tượng và kế thừa
3. Ôn tập tạo func các dạng
3. Phương pháp chia model, view và controller
1. Khai báo cấu trúc các đối tượng trong model
2. Điều khiển luồng dữ liệu và xử lý trong controller
3. Hiển thị dữ liệu trong View
4. Demo đổ dữ liệu cơ bản tableView với mảng và MVC
1. Tạo mảng chứa dữ liệu
2. Khai báo cấu trúc các đối tượng, các hàm khởi tạo trong model
3. Xử lý luồng và khởi tạo tableView trong controller
4. Hiển thị dữ liệu trong Main Storyboard
5. Ôn tập Json và cách đọc Json
1. GET
2. POST
3. Truyền các tham số
4. Header/Type
6. Xử lý đọc và load dữ liệu Json trong controller
7. Demo đổ dữ liệu cơ bản tableView với Json và MVC
8. Demo đổ dữ liệu phức tạp, nhiều lớp với Json và MVC
9. Định hướng viết MVC cho project thực tế của học viên
10. MVC với libary: Alamofire

Phần 4: Auto Layout toàn tập A-Z

Bạn đang quan tâm việc xây dựng layout cho nhiều kích thước màn hình khác nhau? Bạn
muốn xây dựng layout một lần duy nhất nhưng xài được trên nhiều kích thước khác nhau?
Với Swift, bạn hoàn toàn có thể làm được điều đó. Hãy cùng chúng tôi tìm hiểu và nắm trong
tay một trong những tính năng mạnh mẽ nhất của Swift: AutoLayout và Sizeclass

1. Toạ độ trên màn hình


2. Bound và Frame
3. 4 thuộc tính cơ bản của một đối tượng trong Auto Layout
4. Autolayout sử dụng Pin.
1. Constrain to margin
2. Top, bottom, leading,trailing
3. Width, Height
4. Equal width, equal height
5. Aspect ratio
6. Constant
7. Priority
8. Multiplier
5. Autolay out sử dụng chuột
1. Horizontal spacing
2. Vertical spacing
3. Top, bottom, leading,trailing
4. Width, Height
5. Equal width, equal height
6. Aspect ratio
6. Demo Autolayout 1 đối tượng với Supper view
7. Demo Autolayout 2 đối tượng với nhau
8. Demo giao diện máy tính cơ bản với autolayout
9. Autolayout ngược
1. Xác định toạ độ x, y: Thuộc tính con sẽ quyết định kích thước của đối tượng
chứa nó
2. Width, heigh tự động thay đổi dựa vào các đối tượng con
10. Áp dụng Autolayout tạo form đăng nhập
11. Autolayout một cell của tableView
12. Autolayout và scrollView
13. Autolayout bằng code: Giới thiệu NSContrains và các thuộc tính.
14. Demo viết 1 đối tượng Uiview cơ bản sử dụng code
15. Demo form đăng nhập sử dụng code autolayout
16. Dùng code Auto layout tạo animation
1. Animation kéo giãn 1 đối tượng.
2. Animation kéo giãn 1 đối tượng với Scrollview.
17. Giới thiệu size class và các loại kích thước màn hình
18. Demo Sizeclass cơ bản với màn hình dọc và ngang
1. Màn hình dọc giao diện 2 Uiview cạnh nhau
2. màn hình ngang giao diện 2 Uiview xếp chồng lên nhau
19. Demo sizeclass cơ bản 2 kích thước màn hình khác nhau:
Tạo các giao diện khác nhau cho các kích thước màn hình khác nhau
20. Demo form đăng nhập sử dụng sizeclass

Phần 6: Table View Nâng Cao

Bạn đã biết Table View nhưng liệu rằng bạn đã sử dụng thành thạo và hiện thực được các ý
tưởng độc đáo của mình? Hãy cùng chúng tôi nâng tầm kĩ năng sử dụng Table View của bạn
với các bài học về thiết kế layout với Table View nâng cao

1. Custom tableView Cell


1. Autolayout tableView Cell
2. Thiết kế layout với UIView và các đối tượng cơ bản
3. Editing Cell: delete, share, …
4. Thiết kế layout với Scroll View
5. Thiết kế layout với Collection View
6. Chuyển màn hình các cell bằng code:push, pop,…
2. Custom Table View Header
1. Add UIView vào tableView Header
2. Layout cho các đối tượng trong tableView Header
3. Animation co giãn tableView Header
3. Custom Table View Footer
1. Add UIView vào tableView Header
2. Layout cho các đối tượng trong tableView Header
4. Animation trong Table View
5. Table View bằng code
1. Tạo chức năng auto complete cho textFile
2. Tạo tableView trong Alert View

Phần 7: CollectionView Nâng Cao

Xuất hiện hầu hết ở mọi ứng dụng, được sử dụng để tạo nên điểm nhấn cho các giao diện hiển
thị hình ảnh, đặc biệt cực kì mạnh mẽ khi phối hợp cùng tableView và scrollView. Chúng tôi
sẽ giúp các bạn sử dụng collectionView một cách hiệu quả nhất và đa dạng nhất.
1. Custom collectionView Cell
1. Autolayout collectionView Cell
1. Auto Height Cell
2. Auto layout các đối tượng trong cell
2. Thiết kế layout với UIView và các đối tượng cơ bản
3. Editing Cell: delete, share, …
4. Thiết kế layout với collectionView
5. Chuyển màn hình các cell bằng code:push, pop,…
2. Custom collectionHeader
1. Add UIView vào collectionView Header
2. Layout cho các đối tượng trong collectionView Header
3. Custom collectionFooter
1. Animation co giãn collectionView Header
2. Add UIView vào collectionView Header
4. CollectionView bằng code: Layout cho các đối tượng trong collectionView Header

Phần 9: Animation nâng cao

Animation là một trong những yếu tố gây ấn tượng với người dùng, cũng như với nhà tuyển
dụng. Ở chương này, chúng ta sẽ cùng nhau đi qua toàn bộ các dạng Animation trong ios
Core.

1. Core Animation (CA)


o CGAffineTransformMake
o CGAffineTransformMakeTranslation
o CGAffineTransformMakeScale
o CGAffineTransformMakeRotation
o CGAffineTransformTranslate
o CGAffineTransformScale
o CGAffineTransformRotate
o CGAffineTransformInvert
o CATransform3DEqualToTransform
o CATransform3DMakeTranslation
o CATransform3DMakeScale
o CATransform3DMakeRotation
o CATransform3DTranslate
o CATransform3DScale
o CATransform3DRotate
o CATransform3DConcat
o CATransform3DInvert
o CATransform3DMakeAffineTransform
o CATransform3DIsAffine
o CATransform3DGetAffineTransform
2. Sử dụng các hiệu ứng Animation được xây dựng sẵn.

Phần 13: Các Extension phải biết đối với một lập trình viên iOS chuyên
nghiệp

"Nếu có thể, bạn hãy đứng trên vai những người khổng lồ". Bạn muốn xây dựng một app với
thật nhiều chức năng nhưng vẫn giảm thiểu được số lượng code cần viết? Bạn hãy tìm hiểu và
thành thạo càng nhiều extension càng tốt. Hãy để chúng tôi giúp bạn những bước đầu tiên với
các extension thông dụng nhất.
1. Custom Keyboard: IQKeyboardManagerSwift,…
2. Networking: Alamorfire, AFNetworking, ...
3. XML/JSON: SwiftyJSON,…
4. Image: Kingfisher,…
5. Charts: Charts,…
6. Permissions: permission,…
7. AutoLayout: SnapKit,…
8. ... Update liên tục 24/7/365

cài đặt môi trường

kiểu dữ liệu và điều khiển cơ bản

layout: Storyboard

Truyền dữ liệu giữa các layout

gọi api

get: master data của WTS

post: login của WTS

best http request api in swift

https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html

https://fabiti.com/category/apple/ios/page/2

https://hocitvn.com/category/lap-trinh-di-dong/lap-trinh-ios/

https://itstarclub.wordpress.com/category/lap-trinh-ios/page/3/

http://giasutinhoc.vn/category/lap-trinh-ios/

https://o7planning.org/vi/11015/swift

https://o7planning.org/vi/10573/huong-dan-lap-trinh-swift-cho-nguoi-moi-bat-dau

https://daotaoswift.wordpress.com/

https://hocphp.info/lap-trinh-ios/page/2/

https://www.codehub.vn/Phat-Trien-Ung-Dung-iOS-voi-Swift/Gioi-Thieu

https://viblo.asia/tags/swift
youtube chanel

https://www.youtube.com/user/iThanhVN/playlists

các khóa học

https://csc.edu.vn/lap-trinh-di-dong/lap-trinh-swift_27

https://techmaster.vn/khoa-hoc/25554/lap-trinh-ios-swift-8-buoi

https://aptech-danang.edu.vn/chuong-trinh-dao-tao/khoa-ngan-han/lap-trinh-vien-quoc-te-aptech-
ios

http://msita.udn.vn/khoa-hoc-moi-2018/lap-trinh-ios-swift-chuyen-nghiep/

http://pnh.com.vn/khoa-hoc-lap-trinh-ung-dung-di-dong-ios-swift/

https://robusta.vn/vi/chuong-trinh-dao-tao/lap-trinh-ung-dung-di-dong/lap-trinh-ios-co-ban

http://iviettech.vn/chuong-trinh-dao-tao/5852-lap-trinh-ios-swift.html

https://www.udemy.com/tao-ung-dung-chat-voi-ngon-ngu-swift-4-chat-app-swift-4/

phát triển ứng dụng ios (swift)

Hướng dẫn lập trình IOS cơ bản với Swift 3 và Xcode 8 beta qua ứng dụng Sơn Tùng MTP Playlist
Yêu cầu kiến thức:
– Cơ bản về Swift
– Cơ bản về Xcode
Nội dung:
– Autolayout cơ bản
– Tableview
– Data modeling
– Sử dụng model-view-controller MVC
– Sử dụng segue

https://niviki.com/lap-trinh-ios-son-tung-mtp-playlist-app/

You might also like