sách gpt4 ăn đã đi

Giới thiệu về sự khác biệt giữa lớp và #import trong phát triển iOS

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này giới thiệu sự khác biệt giữa class và #import trong phát triển iOS, được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Trong quá trình phát triển iOS, chúng ta thường thấy trong một số mã nguồn #import được sử dụng để nhập các gói, nhưng đôi khi @class được sử dụng để nhập các gói. Vậy hai phương thức này có gì khác nhau?

Sự khác biệt chính giữa @class và #import.

  Trước tiên hãy nói về những khác biệt chính:

•Sử dụng #import để giới thiệu tệp tiêu đề của một lớp Trong quá trình biên dịch, tất cả thông tin trong tệp tiêu đề của lớp sẽ được nhập, bao gồm các thuộc tính và phương thức;

• Việc sử dụng @class chỉ cho trình biên dịch biết rằng đây là một lớp và không bao gồm các thông tin khác về lớp. Đây là tất cả những gì chúng ta quan tâm và chúng ta không cần biết những thuộc tính và phương thức nào bên trong lớp, vì vậy việc sử dụng @class. lớp có thể cải thiện hiệu suất biên dịch.

2. Các kịch bản ứng dụng của @class.

Có hai kịch bản ứng dụng chính cho @class:

•Nói chung, chúng ta sử dụng @class trong tệp tiêu đề .h để cải thiện hiệu suất biên dịch; trong tệp triển khai .m, chúng ta thường cần biết thông tin bên trong của lớp và sau đó chúng ta cần sử dụng #import để giới thiệu các Thông tin này; trong nhiều tệp .h của tệp nguồn iOS, nhiều tệp sử dụng @class để nhập các gói. Ví dụ: trong tệp UIView.h, có đoạn mã sau:

?
1
@lớp học UIBezierPath, UIEvent, UIWindow, UIViewController, UIColor, UIGestureRecognizer, UIMotionEffect, CALayer, UILayoutGuide;

• Để tránh tham chiếu vòng tròn giữa hai lớp, chúng tôi sử dụng @class để nhập vào tệp .h của một lớp nhất định.

  Ví dụ: hãy tập trung vào kịch bản thứ hai, đối với các phụ thuộc vòng tròn, lớp A đề cập đến lớp B và lớp B cũng đề cập đến lớp A. Ví dụ: trong tình huống sau đây, tất cả chúng ta đều sử dụng #import để thực hiện mã tham chiếu lồng nhau như vậy. . Một lỗi sẽ được báo cáo trong quá trình biên dịch.

?
1
2
3
4
5
6
7
8
9
10
//À tập tin
# nhập khẩu "Bh"
@giao diện A: Đối tượng NS
@tài sản (mạnh, phi nguyên tử) B *_b;
@kết thúc
//tệp Bh
# nhập khẩu “À”
@giao diện B: Đối tượng NS
@tài sản (mạnh, phi nguyên tử) A *_a;
@kết thúc

Để giải quyết vấn đề này chúng ta có thể sử dụng @class để tham chiếu, một bên sử dụng #import và một bên sử dụng @class, hoặc cả hai đều sử dụng @class để tránh lỗi.

?
1
2
3
4
5
6
7
8
9
10
//À tập tin
@lớp học B
@giao diện A: Đối tượng NS
@tài sản (mạnh, phi nguyên tử) B *_b;
@kết thúc
//tệp Bh
@lớp học MỘT
@giao diện B: Đối tượng NS
@tài sản (mạnh, phi nguyên tử) A *_a;
@kết thúc

Tóm tắt.

Trên đây là phần giới thiệu của biên tập viên về sự khác biệt giữa lớp và #import trong quá trình phát triển iOS. Tôi hy vọng nó sẽ hữu ích cho bạn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại tin nhắn cho tôi và biên tập viên sẽ trả lời bạn kịp thời! .

Liên kết gốc: https://www.cnblogs.com/mukekeheart/archive/2018/02/13/8446532.html.

Cuối cùng, bài viết về sự khác biệt giữa lớp và #import trong phát triển iOS kết thúc tại đây. Nếu bạn muốn biết thêm về sự khác biệt giữa lớp và #import trong phát triển iOS, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. mong bạn sẽ ủng hộ blog của mình trong tương lai nhé! .

30 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress