Những Mẹo Lập Trình Với Objective-C
Mở đầu
Đối với những lập trình viên khi mới tiếp xúc với Objective-C, chắc hẳn sẽ gặp phải 1 số bỡ ngỡ với các cú pháp của nó. Tuy được kế thừa từ C nhưng Objective-C lại có cách gọi hàm, sử dụng biến khác hẳn. Vì thế, bài viết này sẽ giới thiệu cho mọi người 1 số mẹo để lập trình hiệu quả với Objective-C, đặc biệt là đối với những ai chưa có thời gian dài tiếp xúc với nó.
Objective-C Literals
- Thứ nhất là đối với NSNumber, thay vì phải khởi tạo dài dòng như
[NSNumber numberWithInt:x]
… chúng ta có thể thay thế bằng các cách dưới đây:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
- Tạo mảng nhanh: Thay vì dùng khởi tạo
[NSArray arrayWithObjects:…]
chúng ta có thể dùng:
1
|
|
Và tạo NSDictionary:
1 2 3 4 5 |
|
Cách gọi trên kia sẽ tạo ra 1 NSDictionary với 3 key: name, date, processInfo và các value tương ứng. Các value phải là đối tượng của ObjectiveC và phải khác nil (nếu không sẽ crash). Tiện thể với dictionary, khi khởi tạo 1 NSDictionary:
1 2 3 4 5 6 |
|
Nếu có 1 trong các value từ value_1
đến value_n
bằng nil, vd là value_i
, thì NSDictionary được tạo ra sẽ chỉ nhận được các key và value trong khoảng từ value_1
đến value_(i-1)
chứ không làm crash chương trình. Vì vậy, trong lúc lập trình, nên chú ý điều này để tránh việc tìm không ra lỗi.
- Sử dụng toán tử chỉ số cho array và dictionary giống C:
1 2 3 4 5 6 7 8 9 10 |
|
Chú ý là replace object chỉ dùng được cho NSMutableArray và NSMutableDictionary, không dùng được cho NSArray và NSDictionary.
Mẹo debug với XCode
Khi debug code Objective C, chương trình sẽ nhảy ra hàm main int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
mỗi khi có crash. Màn hình log thì có quá ít thông tin để giúp cho việc debug lỗi crash này. Vậy thì làm thế nào để khắc phục điều này, giúp cho XCode stop lại ở đúng nơi nó bị crash? Đầu tiên là mở panel Breakpoint Navigator và click vào button + ở góc trái dưới màn hình, chọn Add Exception Breakpoint:
Sau đó ấn Done button để tạo 1 exception breakpoint mới:
Chuột phải vào breakpoint mới tạo ra, chọn Move breakpoint to > User để áp dụng cho tất cả các workspaces khác:
Vậy là xong, kể từ bây giờ bạn sẽ được nhìn thấy nơi chôn rau cắt rốn của đống crash :)
Tổng kết
Những tips trong bài viết này tuy nhỏ nhưng có thể sẽ rất hữu ích trong quá trình code của bạn, giúp code ngắn gọn và sáng sủa hơn. Tất nhiên vẫn còn rất nhiều kỹ thuật đặc biệt khác trong Objective-C mà trong khuôn khổ bài viết này chưa thể đề cập hết được. Vì thế, hãy đợi bài viết sau nhé :)