iOS Dev cần biết những gì để thực hiện công việc hàng ngày? (P3)

Thảo luận trong 'iOS' bắt đầu bởi nhatlectv, 3/2/18.

  1. nhatlectv

    nhatlectv Stanford - Nâng tầm tri thức Thành viên BQT

    10. Closures
    Phần này chỉ tập trung vào closure trong Swift. Hầu hết trong các trường hợp sử dụng closure trả về một completion blocks hoặc là một high order functions. Completion blocks là một block of code, được trả về khi task đã kết thúc.
    Closure cũng tương tự như block trong C và Objective-C
    Các cấu trúc về block hay dùng liệt kê ở đây Swift block syntax
    Đôi khi chúng ta quên mất syntax khai báo với cả cách sử dụng, chúng ta có thể reference link trên để apply vào cái chúng ta cần. Đơn giản thôi.

    11. Schemes
    Đơn giản là, scheme là cách dễ nhất để chuyển đổi các configuration.
    Một workspace bao gồm các phần liên quan đến nhau của project. Một project có thể có nhiều target khác nhau, target có các configuration riêng biệt để build cho product. Scheme trong Xcode định nghĩa các configuration dùng để build hay để test tuỳ vào mục đích.

    [​IMG]

    12. Tests
    Nếu bạn dành thời gian test app của bạn, bạn phải chọn phương án test đúng ngay từ đầu. Nếu ko thế, bạn sẽ không thể bảo đảm tránh được các bug đơn giản, tránh được các issue tiềm ẩn
    Trước hết, cùng phân tích ưu nhược điểm của Unitest
    Điểm bất lợi là gì?

    • Thời gian phát triển sẽ kéo dài hơn
    • Tăng lượng code
    Còn điểm lợi thì sao?

    • Tập trung vào việc phải code theo module ( như thế dễ test hơn)
    • Rõ ràng là, các nhiều bug phát hiện trước khi release thì tốt hơn
    • Dễ maintain hơn
    Kết hợp với Instruments, bạn sẽ có đầy đủ tool để chắc chắn rằng app sẽ ngon lành, không có bug và cũng không crash
    Có một vài instrument bạn có thể sử dụng để kiểm tra xem điều gì đang diễn ra trong khi app của bạn đang hoạt động. Một số chức năng được sử dụng trong Instrument bao gồm như là kiểm tra rò rì memory, profile timer, quản lý cấp phát bộ nhớ (memory allocation)

    13. Location

    Khá nhiều app có tính năng yêu cầu chia sẻ vị trí người dùng. Vậy location hoạt động như nào trong ứng dụng iOS nhỉ?
    Core Location là framework cho phép bạn truy cập vào tất cả các thứ bạn cần

    Core Location là framework cho phép bạn xác định được vị trí hiện tại hoặc liên kết gần đó qua device. Framework này sử dụng phần cứng để xác định vị trí của user và các liên kết gần đó. Bạn sử dụng các class và protocol được cung cấp sẵn trong framework để cấu hình và đặt lịch cho phép phát tín hiệu vị trí và các sự kiện gần đó. Bạn cũng có thể sử dụng nó để định nghĩa vị trí địa lý vùng và giám sát người dùng khi họ vượt qua ranh giới vùng mà bạn định nghĩa. Trong iOS, bạn cũng có thể định nghĩa khu vực xung quanh bằng thiết bị bluetooth, gọi là iBeacon.

    Khá là hay đúng không? Bạn có thể tham khảo tài liệu Apple hướng dẫn chi tiết mẫu về location service này

    14. Localizable Strings
    Điều này có ý nghĩa là cho phép app của bạn sự dụng được đa ngôn ngữ, theo các khu vực khác nhau. Nếu như bạn đã chuẩn bị sẵn các text như là dữ liệu sử dụng chuỗi đa ngôn ngữ, tất cả các thứ bạn cần là phải thêm bản dịch cho các text đó và đưa vào file Localizable.strings.
    Để lấy ra text đúng cho từng ngôn ngữ, bạn cần sử dụng NSLocalizedString:

    NSLocalizedString(key:,comment:)


    Cấu trúc sample một Localizable string như sau:

    {
    "APP_NAME"="MyApp"
    "LOGIN_LBL"="Login"
    ...
    }


    Trên đây là liệt kê nho nhỏ các thứ mà dev trình độ cơ bản cần phải biết. Chúc các bạn thành công!
     

Chia sẻ trang này