Trả lời

1

Nó phải làm với mã hóa khóa-giá trị. Bạn có thể liên kết một điều khiển trong IB với một giá trị trong bộ điều khiển của bạn. Để kết nối giá trị đó, bạn phải chỉ định đường phím cho nó. Ví dụ, nếu bạn có một trường text trong IB và bạn muốn ràng buộc nó để nói một trường được gọi là 'name' trong bộ điều khiển của bạn, bạn sẽ chỉ định 'name' làm keypath. Sau đó bạn cần phải thiết lập trường tên của bạn trong bộ điều khiển của bạn để có thể truy cập thông qua mã hóa khóa-giá trị. Điều này được thực hiện trong 10.5 bằng cách sử dụng @property và @synthesize specifiers.

4

Trình đơn phím điều khiển bật lên là một cách giúp bạn khám phá những phím mà bộ điều khiển (thường là NSArrayController, NSObjectController hoặc NSTreeController) trình bày.

Ví dụ tốt nhất là khóa selection của NSArrayControllers, chứa bộ các đối tượng được chọn. Điều gì là khó hiểu là NSObjectController trình bày một phím 'lựa chọn' quá, mặc dù bộ điều khiển có thể kiểm soát chỉ có một đối tượng duy nhất (do đó lựa chọn = đối tượng).

Tôi đồng ý rằng hoàn toàn không rõ ràng. Tôi thường bắt đầu hiểu nó khi tôi gắn các đối tượng của mình theo lập trình (tức là sử dụng phương thức bind:toObject:withKeyPath:options:).

4

[Sao chép my answer on another question ...]

Chìa khóa điều khiển là chìa khóa cho (tài sản của đối tượng điều khiển) bạn đang ràng buộc vào. Đường dẫn khóa của mô hình là đường dẫn khóa mà đối tượng liên kết có thể yêu cầu các đối tượng mô hình cho các đối tượng cơ bản hơn, chẳng hạn như các chuỗi hoặc hình ảnh hoặc cho các đối tượng mô hình khác (ví dụ: xem chi tiết mô hình).

Ví dụ: Giả sử bạn có đối tượng Person trong bộ điều khiển mảng và mỗi Người có name. Bạn liên kết một cột bảng với bộ điều khiển mảng, phím điều khiển arrangedObjects (do đó nhận được các đối tượng mô hình), đường dẫn khóa mô hình name (do đó nhận được các đối tượng giá trị).

Ví dụ phức tạp hơn: Giả sử bạn có bộ điều khiển mảng của các Sở. Mỗi Bộ có chứa Người (nhân viên trong phòng). Bạn có thể kết nối bộ điều khiển mảng People của bạn với bộ điều khiển Departments, phím điều khiển arrangedObjects (nhận đối tượng mô hình bộ), đường dẫn khóa mô hình @distinctUnionOfObjects.employees (nhận đối tượng mô hình Person), và sau đó liên kết cột bảng với bộ điều khiển nhân, khóa điều khiển arrangedObjects, đường dẫn khóa mô hình name.

Bảng đó dành cho những người làm việc cho công ty của bạn; nếu bạn có một bảng riêng biệt gồm nhân viên tiềm năng nhân viên, bạn cũng có thể tạo đối tượng Person cho họ và họ sẽ không hiển thị trong bảng nhân viên hiện có bởi vì họ không ở trong Phòng. Khi bạn thuê chúng, bạn sẽ thêm chúng vào một hoặc nhiều Sở; sau đó, chúng sẽ tự động hiển thị trong bộ điều khiển mảng Mọi người vì bộ điều khiển mảng đó đang quan sát employees của tất cả các Sở.

+0

Dave Gallagher: Thực ra là không. Cả hai ví dụ đều có dạng xem bảng, liệt kê các đối tượng Person. Ví dụ trước đây có những điều này là cấp cao nhất của mô hình; ví dụ sau có tất cả những người chỉ có thể truy cập thông qua các phòng ban.Hai ví dụ cho thấy cùng một danh sách duy nhất có thể dễ dàng được triển khai cho cả hai mô hình sử dụng Bindings. –

Các vấn đề liên quan