Bài 1: Nhập môn Objective-C
On 10/01/2017 by iThanhChào tất cả các bạn.
Page thành lập đã lâu nhưng giờ mới quyết định đổi thành nơi chia sẻ kiến thức lập trình Objective-C và sử dụng Xcode để lập trình iOS cho tất cả mọi người. Mong rằng các anh, chị, em đã có kinh nghiệm, chia sẻ thêm để iOS Apps Store Việt Nam trên Apple ngày càng có danh tiếng.
Xin có vài lời trước khi chia sẻ kiến thức. Mình có thiên hướng là sử dụng tiếng việt một cách thuần để dễ hiểu và dễ hình dung. Nhưng vì thuật ngữ có một số từ sẽ không dịch ra tiếng Việt, nhằm tạo cho bạn cái nhìn cụ thể, trực quan và nhớ nhanh, nhớ lâu cho nên, trong những dòng tiếng Việt, thấy có tiếng Anh, bạn cũng đừng thắc mắc nhé. Thanks!
Trong hướng dẫn này có một số thuật ngữ (hoặc thông tin) mà bạn chưa hiểu, hãy cứ ghi nhớ và sau này sẽ dùng đến. Ví dụ như ID, tên công ty, .. Vì những thông tin này liên quan đến việc bạn cần phải có tài khoản iOS Developer.
Mở đầu là việc làm quen với Objective-C.
1. Mở đầu:
Objective-C là ngôn ngữ được Apple phát triển từ C và có tính hướng đối tượng. Tính hướng đối tượng là gì thì chúng ta sẽ tìm hiểu sau.
Mình không thiên về việc giải thích nhiều ý nghĩa cũng như định nghĩa làm gì. Quan trọng là mình làm được việc, hiểu được ngôn ngữ và lập trình một cách độc lập hoặc theo nhóm hoàn hảo.
2. Bắt đầu với những gì?
Để bắt đầu học về một ngôn ngữ lập trình, chúng ta cần học về cách khai báo biến, các loại kiểu dữ liệu cơ bản, cách code và build & run ứng dụng đầu tiên.
Để bắt đầu, bạn cần phải chạy hệ điều hành Mac OS (trên máy Mac hoặc trên máy không Mac) và dĩ nhiên là phải cài ứng dụng Xcode (do Apple phát triển và cung cấp). Để nhận dạng ứng dụng Xcode thì bạn nhìn vào Avatar nhé!
3. Xcode:
→ New Project
→ Chọn Single View Application
→ Trong cửa sổ mới hiện ra, bạn để ý vào những thông tin sau:
Product Name (Tên ứng dụng, có thể viết chữ hoa, chữ thường, chữ Trung Quốc, Nhật Bản, … thoải mái)
Organization Name (Tên công ty, nếu bạn là cá nhân, có thể để tên bạn)
Company Identifier (Mã chứng thực công ty, hoặc có thể là cá nhân. Vì đây là bài Test đầu tiên, cho nên chỗ này, bạn có thể điền là “com.education”)
Class Prefix (Tiền tố đứng trước tên của Class, bạn có thể điền hoặc không, nếu tò mò, bạn hãy thử và xem có gì thay đổi hay không sau khi đọc và thực hành xong bài này)
Devices (Thiết bị mà bạn lập trình ứng dụng, Universal nghĩa là cả 2 thiết bị iPhone và iPad, ở đây bạn chọn iPhone nhé, vì sao, để bạn build cho dễ dàng, và gọn màn hình, không cần cuộn chuột để xem nội dung, và bài viết này yêu cầu cũng rất đơn giản)
Ở 3 dấu tích, bạn chọn Use Storyboards và Use Automatic Reference Counting nhé.
Cuối cùng là Next, chọn nơi lưu Project này.
4. Cửa sổ lập trình:
Đã xuất hiện cửa sổ dành cho bạn lập trình chưa? Nếu chưa hoặc có lỗi gì thì bạn đọc kỹ lại hướng dẫn 5 nhé. Lúc này, cửa sổ Xcode sẽ trình bày Project cho bạn lập trình. Bắt đầu thôi.
5. MainStoryboard.storyboard:
Click chuột vào MainStoryboard.storyboard, bạn sẽ thấy một hình tương tự như màn hình iPhone. Tên của nó là ViewController và sau này mình sẽ gọi đó là View (nghĩa là đó là 1 màn hình trong ứng dụng của bạn, ứng dụng có thể có 1 hoặc nhiều View nhé). Lại bấm tiếp vào “ViewController.m” (facebook không cho phép đổ màu cho chữ) bạn sẽ thấy toàn chữ, đó là nơi bạn viết code.
6. Mình giải thích một chút:
– Storyboard: đó là nơi bạn thiết kế giao diện (Button, TextField, Switch, Map, WebView, …)
– ViewController.h và ViewController.m (h viết tắt của Header, m viết tắt của Main, bạn tự hiểu nhé): 2 file này là nơi mà bạn sẽ viết code.
– 3 file này liên kết với nhau như thế nào? Khi bạn thiết kế xong giao diện trong Storyboard, bạn ánh xạ các đối tượng từ Storyboard sang file h, file m sẽ triệu gọi và làm việc với các đối tượng mà bạn đã ánh xạ (hoặc khai báo) khi cần.
7. Bắt đầu đoạn code đơn giản nhất nhé.
Bạn click vào file m. Mình phân tích sơ về file này cho bạn hiểu.
– (void)viewDidLoad: đây là 1 hàm, bây giờ, hàm này sẽ chạy đầu tiên khi ứng dụng vừa được mở lên (mở lên chứ không phải là gọi nó từ TaskBar trên thiết bị nhé. Sau này bạn sẽ phân biệt 2 điều này). Nội dung trong này sẽ được chạy lần lượt từ trên xuống dưới, tính từ dấu { đầu tiên đến dâu } cuối cùng.
– Thế thôi, bài này quan tâm mỗi 1 cái đó. hi hi
8. Đề bài hôm nay là:
“Viết ứng dụng đơn giản, cộng hai số nguyên cho trước. Sau đó in ra cửa sổ Log kết quả.”
9. Phân tích:
Tại sao có bước này, mình viết chủ yếu cho những bạn chưa học lập trình, hoặc mới bắt đầu học lập trình, cho nên các anh, chị đừng trách dài dòng nhé, mình kỹ càng cho các bạn ấy mà.
Bài toán sẽ cần phải có 2 số nguyên, sau đó sẽ có 1 “biến” lưu kết quả và cuối cùng sẽ có 1 hàm dùng để xuất kết quả tra cửa sổ Log.
10. Code:
Trong ViewDidLoad, bạn bắt đầu gõ vào như sau: (dưới dòng [super viewDidLoad];)
int soA = 1;
int soB = 2;
int Tong = soA + soB;
NSLog(@”%i”, Tong);
11. Giải thích:
int soA – khai báo một biến có tên là soA và có kiểu là int (integer – số nguyên). Toán tử = sau khi khai báo làm nhiệm vụ gán giá trị 1 cho soA mới khai báo. Lúc này biến soA có giá trị 1.
int soB – khai báo một biến có tên là soB và có kiểu là int (integer – số nguyên). Toán tử = sau khi khai báo làm nhiệm vụ gán giá trị 2 cho soB mới khai báo. Lúc này biến soB có giá trị 2.
int Tong = soA + soB – Toán tử = gán tổng của soA và soB cho biến Tong vừa được khai báo với kiểu int (integer – số nguyên)
NSLog – là hàm cho phép xuất mỗi chuỗi ra cửa sổ Log. Trong này có những điều cần lưu ý. @”” là các ký tự bắt buộc phải có với hàm này. Nội dung cần xuất ra nằm trong dấu “”. Trong dấu này mình để %i, nghĩa là mình lấy giá trị từ biến Tong sau dấu phẩy và thay thế vào chỗ có dấu %i. Tại sao lại là %i, dấu % là bắt buộc và chữ i nghĩa là viết tắt cho integer, xuất một số nguyên đấy bạn ạ.
Bây giờ bạn đã hiểu cách để khai báo biến có kiểu integer, cách gán giá trị cho biến, cách sử dụng toán tử = và toán tử +, ngoài ra còn biết hàm nào xuất giá trị ra của sổ Log.
12. Bây giờ Build & Run (chạy ứng dụng).
Để chạy ứng dụng, bạn bấm tổ hợp phím Command + R, (R là viết tắt của từ Run đó bạn) hoặc bạn bấm vào dấu mũi tên ở trên thanh công cụ, ngoài cùng bên trái và chắc chắn rằng ở Scheme bạn chọn iOS Simulator nhé. Thoáng một cái bạn sẽ thấy kết quả như hình. Bạn xem hình trong thư viện mà mình đã upload lên nhé.
13. Chạy xong rồi, đến lúc này là lúc bạn sáng tạo. Bạn chỉ thấy mỗi dòng tương tự như thế này:
2012-10-13 22:52:15.132 Test – 1[1025:c07] 3
Nghĩa là kết quả của bạn chỉ hiện ra là 3 đấy.
Bạn hãy sáng tạo bằng cách thay đổi trong hàm Log như thế này:
NSLog(@”Tong bang: %i”, Tong);
Xem thử ra cái gì nhé.
14. Bây giờ đã hiểu cơ bản rồi, mình sẽ cung cấp cho bạn những kiến thức bổ ích sau:
– Các toán tử: – + * / % =
– Các kiểu dữ liệu: int (số nguyên), float (số thực)
15. Bài tập cho các bạn thư giãn:
a. Viết ứng dụng tính tổng của 2 số thực cho trước.
b. Cho trước 2 số thực khác 0, tính và xuất ra cửa sổ Log Tổng, Hiệu, Tích, Thương của 2 số đó một cách lần lượt. (Nghĩa là: a-b, b-a, a+b, b+a, … bạn từ loại trừ phép tính trùng nhé)
c. Cho trước 10 số nguyên, sắp xếp cơ bản và xuất ra cửa sổ Log các số nguyên đó theo thứ tự lớn dần và bé dần, mỗi số cách nhau bằng dấu sao (*).
16. Ký tự thay thế cho kiểu float là %f nhé bạn.