Trong bài này mình sẽ nói về ngôn ngữ Objective-C trong lập trình IOS để các bạn có thể hiểu thêm về lập trình IOS. Nội dung trong bài mình trích xuất trong slider bài giảng khóa học Lập trình iOS Objective-C của http://techmaster.vn/ . Mình xây dựng để cho các bạn không có điều kiện học IOS có thể hiểu thêm và có đam mê với công việc này.
Ngôn ngữ Objective-C
  • ObjectiveC = ngôn ngữ C + SmallTalk
  • Có thể viết, gọi hàm C trong Objective-C
  • Được biên dịch ra mã máy, không cần máy ảo (virtual machine) như Java hay bộ thông dịch (interpreter) như PHP, Python, Ruby
Hỗ trợ định nghĩa kiểu theo cả 2 cách:
– Static Typing: tĩnh, xác định rõ ngay khi biên dịch (at compile time)
– Dynamic Typing: động, chỉ xác định khi thực sự chạy (at run time)

File mã nguồn
  • File *.h, header file, mô tả khai báo API để sử dụng
  • File *.m, implementation file, phần thực hiện các khai báo ở header file.
#import khác gì với #include
  • #import dùng cho Objective-C
  • #include dùng cho C
Kiểu dữ liệu căn bản – primitive data type

Kiểu của Objective-C
  • Luôn kế thừa từ NSObject
  • Quản lý bộ nhớ theo kiểu iOS
  • Tuân thủ một số protocol như NSCopying, NSCoding
NSNumber box – unbox với các primitive data type

Ví dụ về NSNumber
NSNumber *numberA = [NSNumber numberWithFloat.14156178f];
float pi = [numberA floatValue];
NSLog(@”%1.6f”, pi);

NSNumber *numberB = [[NSNumber alloc] initWithChar: ‘Z’];
short smallChar = numberB.shortValue;
NSLog(@”%d”, smallChar);

Không thể làm phép toán số học trực tiếp trên NSNumber kể cả Phép so sánh lớn hơn, nhỏ hơn.
Phải unbox ra primitive data type rồi thực hiện

NSString – NSMutableString
NSString *stringA = @”The Pi number is”;
NSString *stringB = [NSString stringWithFormat:@"%@ %1.5f", stringA, 3.14156f];
NSString *stringC = [NSString stringWithCString:"Đây là C string" encoding:NSUTF8StringEncoding];
NSString *stringD = [NSString stringWithUTF8String:"Cuộc sống phức tạp"];

Cú pháp mới
NSNumber *numberA = @3.14159178f;
NSNumber *numberB = @’c’;

Các lệnh điều khiển căn bản
Điều kiện : If then else
double tomorrowTemperature = 40.2;
if (tomorrowTemperature > 42) {
NSLog(@”Stay at home”);
} else if (tomorrowTemperature > 38){
NSLog(@”Go to swimming pool”);
} else {
NSLog(@”Go to park”);
}

Quy tắc chú ý trong if then else
  • Kiểm tra điều kiện để thoát khỏi hàm càng sớm càng tốt – short cut return
  • Ưu tiên để điều kiện thoát có xác suất cao lên đầu để thoát sớm
  • Không lồng quá 3 if vào nhau
Lựa chọn : switch

Vòng lặp: loop

do-while và while

Nhảy – goto, thoát: return, break
  • return để thoát hàm
  • return object để thoát hàm, trả về object
  • break để thoát khỏi khối loop hoặc switch
  • continue để chạy tiếp luôn lần lặp tiếp theo
Trường hợp duy có thể dùng goto
  • Có duy nhất một label ở tận cùng của hàm.
  • Mọi lệnh goto đều nhảy về label này.
  • Tuy nhiên hãy dùng @try @catch @finally để thay thế thì tốt hơn
Download code: http://www.mediafire.com/download/q8...eCLanguage.zip
Sau bài này các bạn có thể hiểu cơ bản về lập trình IOS và cách debug với việc sử dụng breakpoint và nslog trong Xcode. Cảm ơn các bạn đã quan tâm.
Tutorial về IOS: http://vnfit.com/ios/