Cửa hàng và hành động là các cách (hoặc kết nối/trung gian) mà ViewController sẽ tương tác với Chế độ xem của nó. Mặc dù cả hai người trong số họ có thể trông giống nhau trong những ngày đầu của người quen iOS nhưng họ phục vụ mục đích khác nhau:
Outlet: ViewController talks to View by using Outlet
. Bất kỳ đối tượng (UILabel, UIButton, UIImage, UIView vv) trong Xem có thể có một kết nối Outlet để ViewController. Cửa hàng được sử dụng như @property
trong ViewController có nghĩa là:
- bạn có thể đặt thứ gì đó (như Cập nhật văn bản UILabel, Đặt hình nền của UIView vv) của một đối tượng bằng cách sử dụng ổ cắm.
- bạn có thể nhận được một cái gì đó từ một đối tượng (như giá trị hiện tại của UIStepper, cỡ chữ hiện tại của một NSAttributedString vv)
Action: View pass on messages about view to ViewController by using Action
(Hoặc trong điều kiện kỹ thuật ViewController thiết lập chính nó như là Target
cho bất kỳ Action
trong Xem). Hành động là Method
trong ViewController (không giống như Cửa hàng là @property
trong ViewController). Bất cứ khi nào một cái gì đó (bất kỳ Event
) xảy ra với một đối tượng (như UIbutton được khai thác) thì Action pass trên Message tới ViewController. Hành động (hoặc phương pháp hành động) có thể làm điều gì đó sau khi nhận được tin nhắn.
Lưu ý: Hành động chỉ có thể được đặt bởi đối tượng con của UIControl; có nghĩa là bạn không thể thiết lập hành động cho UILabel, UIView, vv
đâu \ Khi sử dụng Outlet hoặc hành động:
Trong những ngày đầu tiên của iOS quen của nó hoàn toàn bình thường để bị lẫn lộn giữa hành động và Outlet và tập quán của họ. Có một vài điều nhỏ (như nhận được văn bản/tiêu đề của một nút) có thể được thực hiện bởi cả hai Outlet và hành động, nhưng nếu không chúng rất khác nhau. Lưu ý các điểm trên khi sử dụng một hoặc nhiều điểm khác.
Nguồn
2013-07-06 11:14:26
Một Outlet trình bày dữ liệu từ bạn ViewController ví dụ nếu bạn đặt text nhãn. Một hành động được báo cáo từ View to you Controller. Ví dụ: nếu bạn nhấp vào một nút. (Sự kiện TouchUpInside) – lukaskrieger