Mục lục:
Video: SceneKit What's New 2025
Mặc dù bạn sẽ được tạo ra các lớp học của riêng bạn (đặc biệt là các lớp mô hình) cho ứng dụng iOS của bạn, bạn thường sẽ muốn tuỳ chỉnh hành vi của một lớp khung cụ thể. Bạn có ba cách để đi về nó:
-
Phân lớp
-
Phân bổ
-
Các thuộc tính được khai báo
Phân lớp
Mục tiêu C, giống như các ngôn ngữ lập trình hướng đối tượng khác, cho phép bạn căn cứ vào một lớp mới trên một lớp học đã được tuyên bố. Các lớp cơ sở được gọi là một siêu lớp; lớp mới là lớp con của nó. Mỗi phân lớp mà bạn xác định kế thừa các phương thức và các biến thể của siêu lớp.
Một số lớp khung dự kiến sẽ được phân lớp phụ. Trong số đó có bộ điều khiển chế độ xem, mà bạn sẽ được subclassing khá một chút. Trên thực tế, có một số lớp không bao giờ được trực tiếp khởi tạo: Các lớp này được gọi là các lớp trừu tượng . Các lớp con của chúng có thể được thực hiện trực tiếp: Các trường hợp này được gọi là bê tông .
Hầu hết các ngôn ngữ lập trình hướng đối tượng đều hỗ trợ phân lớp phụ. Tuy nhiên, đôi khi có một vấn đề. Nó được gọi là sự cố đa thừa kế : đó là khi bạn muốn một lớp học là một phân lớp của hai lớp. Không có vấn đề gì nếu cả hai lớp con nằm trong phân cấp lớp. Bạn có thể có một lớp gọi là cấu trúc, một lớp con gọi là cấu trúc nhà ở, và một phân lớp của cả hai được gọi là nhà.
Nhưng bạn sẽ làm gì nếu muốn ngôi nhà của mình là một phân lớp có cấu trúc và đầu tư?
Phái đoàn
Phái đoàn là một mẫu được sử dụng rộng rãi trong các khuôn khổ iOS, vì vậy nếu bạn muốn thực hiện bất kỳ công việc phát triển ứng dụng nghiêm trọng nào, bạn sẽ phải tìm hiểu đầu nó. Trên thực tế, khi bạn làm hiểu nó, cuộc sống của bạn sẽ trở nên dễ dàng hơn nhiều để quản lý.
như và đặt mã cho hành vi cụ thể của từng chương trình trong một đối tượng riêng biệt (delegate). Khi một yêu cầu được tạo ra từ đối tượng khung, phương pháp của delegate thực hiện các hành vi cụ thể của chương trình được tự động gọi. Các khuôn khổ iOS phụ thuộc nhiều vào mẫu ủy quyền.Chẳng hạn, đối tượng UIApplication xử lý hầu hết công việc thực tế cần thiết để chạy ứng dụng.Tuy nhiên, như bạn thấy, nó sẽ gửi ứng dụng của bạn ủy quyền cho ứng dụng: didFinishLaunchingWithOptions: thông báo cho bạn một cơ hội để tạo các đối tượng mô hình duy nhất cho ứng dụng của bạn.
Khi một đối tượng khuôn khổ đã được thiết kế để sử dụng các đại biểu để thực hiện các hành vi nhất định, các hành vi mà nó đòi hỏi (hoặc cung cấp cho bạn tùy chọn để thực hiện) được định nghĩa trong một giao thức
. Các giao thức định nghĩa một giao diện mà đối tượng delegate thực thi. Trong iOS, các giao thức có thể chính thức hoặc không chính thức. Các giao thức chính thức bao gồm hỗ trợ những thứ như kiểm tra kiểu và kiểm tra thời gian chạy để xem liệu một đối tượng có phù hợp với giao thức hay không.
Trong một giao thức chính thức, bạn thường không phải thực hiện tất cả các phương pháp; nhiều tùy chọn được tuyên bố là tùy chọn, có nghĩa là bạn chỉ phải triển khai những ứng dụng có liên quan đến ứng dụng của bạn. Trước khi một giao thức chính thức cố gắng gửi một thông báo cho delegate của nó, đối tượng máy chủ xác định xem delegate có thực hiện phương pháp này (thông qua một response): để tránh sự bối rối của việc phân nhánh thành hư không nếu phương thức này không được thực hiện.
Một giao thức có thể được chấp nhận bởi bất kỳ lớp nào miễn là nó thực hiện các phương pháp yêu cầu của giao thức. Do đó, bằng cách chấp nhận một hoặc nhiều giao thức và trở thành một delegate, một lớp duy nhất có thể thực hiện các chức năng từ hai lớp khác - nó cung cấp một sự ước lượng xấp xỉ nhiều thừa kế.
