XÂY DỰNG ỨNG DỤNG TRÊN IPHONE (P8)

Share:

Tạo outlet cho label và text field

Một outlet mô tả kết nối giữa 2 object. Khi mà bạn muốn 1 object (ví dụ như là view controller) giao tiếp với 1 object mà nó chứa (ví dụ như text field) thì bạn chỉ định đối tượng được chứa như là 1 outlet. Khi 1 ứng dụng chạy thì outlet bạn tạo trong Xcode sẽ được phục hồi, nó cho phép những object có thể giao tiếp được với những đối tượng khác trong quá trình chạy.

Ở bài học này thì bạn muốn view controller nhận được text của người sử dụng từ phần tử text field rồi hiển thị lên trên label. Để chắc chắn điều này thì view controller có thể giao tiếp với các đối tượng này, và bạn sẽ tạo outlet giữa chúng.

Những bước mà bạn làm để thêm những outlet cho text field và label khá giống với các thao tác mà bạn đã làm khi thêm action cho nút Hello. Trước khi bắt đầu thì bạn hãy chắc chắn rằng tệp tin storyboard chính cũng vẫn hiển thị ở Canvas và HelloWorldViewController.m vẫn mở trong assistant editor.

Thêm một outlet cho text field

1. Giữ nút control rồi kéo text field ở trong view vào trong lớp thự thi  HelloWorldViewController.m. Kết quả sẽ như sau:

firstiphoneapp32

2. Một dialog sẽ hiện lên phía bên trái vùng assistant editor tới khi bạn kết thúc việc kéo thả. Sau đó ta sẽ nhập vào cấu hình kết nối như hình dưới.

firstiphoneapp32

  • Hãy chắc chắn rằng Connection pop-up menu có chứa Outlet
  • Ở hộp nhập Name ta gõ “textField”
  • Bạn có thể gọi 1 outlet bất kì lúc nào bạn thích. Nhưng code của bạn có thể dễ hiểu hơn khi 1 tên outlet gần gũi với phần tử mà nó đang đại diện.
  • Hãy chắc chắn rằng trường Type có chứa “UITextField”
  • Thiết lập với nội dụng trường Type thành “UITextField” và hãy chắc chắn rằng Xcode có kết nối với outlet thông qua text field.
  • Hãy chắc chắn rằng Storage pop-up menu có chứa Weak, đây chính là giá trị default và sau khi thiết lập thì kết quả sẽ như sau:

firstiphoneapp33

3. Sau đó bạn ấn vào button Connect.

Ok vậy là bạn đã hoàn tất 2 việc qua việc thêm 1 outlet cho text field. Cụ thể:

  • Xcode thêm đoạn mã tương ứng vào tệp tin thực thi  (HelloWorldViewController.m) của lớp view controller như dưới đây:
  • Xcode sẽ thiết lập 1 kết nối từ View Controller cho đến text field. Bằng việc thiết lập được kết nối giữa view controller và text field. Nội dung mà người dùng nhập vào text có thể được truyền đến view controller.

Lúc này các bạn có thể thêm 1 outlet cho label cũng như cấu hình kết nối. Thiết lập được kết nối giữa view controller và label cho phép view controller có thể cập nhật được xâu hiển thị trên label. Những bước mà bạn sẽ làm gần giống với các bước mà bạn thêm outlet cho text field tuy nhiên có 1 chút thay đổi về cấu hình tương đương. (Hãy chắc chắn rằng HelloWorldViewController.m vẫn còn mở trên assistant editor).

 

 

 

Share:

Leave a reply