C ấu trúc c ủa m ột ch ươ
n g trình Objective-C
Cảm ơn sự quantâmvà phản hồi của t ất cả các bạn đối với bài số 1.
Qua bài 2 này, chúng ta b ắt đầu tìm hi ểu v ề c ấu trúc c ủa m ột ch ương trình
vi ết b ằng ngôn ng ữ Objective-C.
Đến đây, các b ạn t ạm quên v ề “ Ứng d ụng iOS” nhé. Chúng ta s ẽ quay l ại sau
khi hi ểu rõ và thành th ạo v ề ngôn ng ữ Objcetive-C và XCode.
T ừ nay v ề sau, các b ạn s ẽ t ạo Project m ới b ằng cách:
Mở Xcode lên -> Create a new Xcode project -> OSX -> Application ->
Command Line Tool.
Các b ạn đi ền các thông tin c ần thi ết nh ư h ướng d ẫn ở Bài 1 và l ựa ch ọn
“Type” là Foundation nhé.
Chúng ta sẽ có giao diện của Xcode trông nh ư hình.
Th ử ch ạy xem k ết qu ả là gì, b ằng cách b ấm nút Run ho ặc nh ấn t ổ h ợp phím
“Command + R”.
Muốn dừng ứng dụng đang chạy, bạn bấm nút Stop hoặc nhấn tổ hợp phím
“Command + .”.
Hôm nay chúng ta sẽ tìm hiểu về cấu trúc của một ứng dụng viết bằng
Objcetive-C.
Như bạn đã thấy, bên dướ i, cũng như trong Xcode của bạn, đó là chươ ng
trình đơ n giản nhất đấ y.
Đoạn mã có nhiệm vụ xuất ra của sổ Log câu “Hello World”.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
Câu lệnh để xuất kết quả ra cửa sổ Log là NSLog();
Câu lệnh này chúng ta đã biết ở Bài đầu tiên.
Một ứng dụng viết bằng Objcetive-C bao gồm nh ững phần sau:
1. Phần Header:
•
•
•
Phần header nh ư các b ạn th ấy là ph ần import (chèn vào m ột th ư vi ện
có s ẵn, ho ặc m ột th ư vi ện do b ạn vi ết ra. Th ư vi ện đó có th ể là m ột
Class, một Sub Class, một Project, một File, ...)
Trong ph ần Header, s ẽ khai báo bi ến, và bi ến này đượ c xem là bi ến
toàn c ục (nghĩa là bi ến và giá trị c ủa bi ến đó đượ c s ử d ụng trong toàn
bộ phần Main.
V ề phần này, các b ạn t ạm hi ểu đến đó, sau này khi quay tr ở l ại v ới iOS,
chúng ta s ẽ tìm hi ểu k ỹ h ơn.
2. Phần Main:
•
•
Đây là ph ần chính c ủa ứng d ụng, mã được vi ết ở đây s ẽ được ch ạy
tu ần t ự t ừ trên xu ống d ưới.
Các b ạn hãy th ử b ằng cách sau: Thêm các đo ạn mã bên d ưới vào
ngay dưới hàm NSLog()
NSLog(@“Gọi hàm NSLog lần thứ 2!”);
NSLog(@“Gọi hàm NSLog lần thứ 3”);
NSLog(@“Gọi hàm NSLog lần cuối cùng!");
•
Chạy và xem k ết qu ả thu đượ c. Đi ều đó ch ứng t ỏ ứng d ụng s ẽ ch ạy l ần
l ượt t ừ trên xu ống d ưới. Đi ều này giành cho các b ạn m ới tìm hi ểu v ề
l ập trình để có cách gi ải thu ật t ốt nh ất đối v ới bài toán c ủa b ạn.
3. Phần ghi chú:
•
•
Để ghi chú trong Objective-C, b ạn m ở đầu câu ghi chú b ằng d ấu //
Để ghi chú m ột đo ạn, b ạn m ở đầu b ằng /* và k ết thúc đo ạn ghi chú đó
bằng */
// Đây là câu mà tôi cần ghi chú
NSLog(@“Gọi hàm NSLog lần thứ 2!”); // Hàm này thông báo cho tôi biết hàm NSLog được gọi
lần thứ mấy.
/*
Toàn bộ các hàm cần thiết trong ứng dụng được ghi chú ở đây
*/
4. Hàm main:
•
•
•
•
Hàm Main là hàm ch ạy đầu tiên khi ứng d ụng ch ạy, cho dù nó n ằm ở
đâu trong đoạn code của bạn đi chăng nữa.
N ội dung c ủa hàm Main (ho ặc các hàm khác, sau này tìm hi ểu) s ẽ n ằm
bên trong d ấu ngo ặc nh ọn { }
Trong một hàm b ất k ỳ có th ể tri ệu g ọi các hàm khác.
Trong m ột hàm có nhi ều câu l ệnh, m ỗi câu l ệnh đượ c vi ết trên m ột
dòng.
5. Câu lệnh:
•
K ết thúc câu l ệnh b ắt bu ộc ph ải có d ấu ch ấm ph ẩy ;
Như vậy về căn bản của một ứng dụng viết bằng Objective-C, chúng ta đã n ắm được.
Bài tập giành cho các bạn thực hành ngay bây giờ.
(Đừng xem kết quả trước, bạn nhé )
1. Vi ết ứng d ụng xu ất ra câu nói mà b ạn ưa thích.
2. Vi ết ứng d ụng xu ất ra hình sau: (Ch ỉ vi ết b ằng nh ững câu l ệnh có trong
bài học 1 và 2)
**********
**
**
**
**********
Kết quả:
Cảm ơn các bạn quan tâm, chúc các bạn vui với Objective-C.