Trang Chủ Xã hội Truyền thông Cách sử dụng Tự động tính Tham chiếu (ARC) cho Ứng dụng iOS của bạn - núm vú

Cách sử dụng Tự động tính Tham chiếu (ARC) cho Ứng dụng iOS của bạn - núm vú

Video: TouchPad Trên Windowns 10 Có Gì Mới 2025

Video: TouchPad Trên Windowns 10 Có Gì Mới 2025
Anonim

Bạn có thể muốn sử dụng ARC cho ứng dụng iOS của bạn. Tính đếm tham chiếu tự động (ARC) là một tính năng trình biên dịch đơn giản hóa quá trình quản lý thời gian sống của các đối tượng Mục tiêu-C. Thay vì bạn phải nhớ khi nào để giữ lại hoặc giải phóng một đối tượng, ARC đánh giá các yêu cầu đời sống của các đối tượng của bạn và tự động tổng hợp các phương thức gọi thích hợp trong thời gian biên dịch.

Nó không phải là mô hình bộ nhớ thời gian chạy mới - và nó không phải là bộ thu gom rác. Tất cả các hành động diễn ra trong trình biên dịch. ARC quan tâm đến quá trình giữ lại và giải phóng các đối tượng bằng cách tận dụng lợi thế của (và có các quy ước đặt tên). Nó cũng dựa vào vòng loại quyền sở hữu con trỏ đối tượng mới.

Bạn lo lắng, ARC thực sự nhanh hơn nhiều (có hiệu suất tốt hơn) hơn là quản lý bộ nhớ một mình.

ARC không tự động hoá các hàm malloc () và free () (các hàm C) và không tự động (CF) hoặc (CG).

Để có thể quản lý bộ nhớ cho bạn, ARC áp đặt một số hạn chế - chủ yếu thực thi một số phương pháp hay nhất và không cho phép thực hiện một số thực tiễn khác. Bạn sẽ không phải lo lắng về hầu hết những điều này trong một ứng dụng đã được tạo để sử dụng ARC.

Dưới đây là các quy tắc mà bạn phải làm theo để sử dụng ARC trong ứng dụng của bạn.

  • Quy tắc 1: Không gọi phương thức giữ lại , phát hành hoặc autorelease . Ngoài ra, bạn không thể thực hiện tùy chỉnh hoặc phương pháp.

    Nếu bạn là người mới sử dụng chương trình Mục tiêu-C, quy tắc này sẽ không có ý nghĩa gì đối với bạn vì đây không phải là điều bạn sẽ làm trong các ứng dụng hiện tại của bạn. Lý do duy nhất bạn cần biết về quy tắc này là hiểu mã ARC không đang làm gì để quản lý bộ nhớ. Nếu bạn là một tay cũ, bạn đã sử dụng những phương pháp này, và bạn sẽ rất vui khi được cho biết chứ không phải để sử dụng chúng.

    Bạn có thể cung cấp việc triển khai tùy chỉnh dealloc nếu bạn cần quản lý các tài nguyên khác.

  • Quy tắc 2: Không lưu trữ các con trỏ đối tượng trong cấu trúc C. Bởi vì trình biên dịch phải biết khi tài liệu tham khảo đến và đi, bạn không thể lưu các con trỏ đối tượng trong cấu trúc. Đối với hầu hết độc giả, đó sẽ không phải là một vấn đề bởi vì bạn sẽ sử dụng các đối tượng thay vì cấu trúc C.

  • Quy tắc 3: Thông báo trình biên dịch về quyền sở hữu khi sử dụng các đối tượng Core Foundation. Trong ứng dụng iOS, bạn thường sử dụng khung CoreFoundation.

    Các đối tượng CoreFoundation là bất cứ điều gì bắt đầu với một CF-như các chức năng của sổ địa chỉ.Một đối tượng CoreFoundation sẽ như sau:

    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) burnRubberURL, burnRubberSoundID);
    

    ARC không tự động quản lý thời gian sống của các loại CoreFoundation và có các quy tắc quản lý bộ nhớ CoreFoundation và các chức năng bạn có thể sử dụng, chẳng hạn như CFRetain và CFRelease (hoặc các biến thể cụ thể tương ứng với từng loại).

    Hầu hết thời gian, bạn không phải lo lắng về quản lý bộ nhớ bởi vì bạn thường sẽ được ném một Objective-C đối tượng đến một đối tượng kiểu CoreFoundation, hoặc ngược lại - kết quả là bạn kết thúc không có bộ nhớ CoreFoundation quản lý trong mã của bạn. Bạn vẫn phải để cho trình biên dịch biết về bất kỳ sự liên quan đến quản lý bộ nhớ, mặc dù.

    Bạn chỉ đơn giản nói với ARC không phải lo lắng bằng cách sử dụng một cast _bridge.

    Nếu bạn có quản lý bộ nhớ CoreFoundation, các macro như CFBridgingRetain hoặc CFBridgingRelease sẽ chuyển quyền sở hữu giữa ARC và CoreFoundation.

  • Quy tắc 4: Sử dụng từ khóa @autoreleasepool để đánh dấu sự bắt đầu của một khối autorelease. Đây không phải là điều bạn sẽ quan tâm - hoặc sẽ bao giờ làm, cho vấn đề đó. Nhưng đó vẫn là một quy luật.

  • Quy tắc 5: Thực hiện theo các quy ước đặt tên. Trình biên dịch biết có nên giữ lại một đối tượng dựa trên những gì được trả về. Đôi khi đối tượng được trả lại bằng một phương pháp được giữ lại, và đôi khi nó được tự động trả sau. Nếu đối tượng sẽ được tự động, đối tượng cần phải được giữ lại. Nếu nó đã được giữ lại, bạn không muốn trình biên dịch để làm bất cứ điều gì.

    Cách duy nhất trình biên dịch biết liệu một đối tượng đã được giữ lại khi nó được trả lại là thông qua các quy ước đặt tên nhất định. Trong ARC, các quy ước đặt tên này bây giờ là một phần của ngôn ngữ và bạn phải tuân theo chúng.

    Trình biên dịch biết rằng một đối tượng được lưu lại đã được trả lại khi từ đầu tiên trong phần đầu tiên của selector (tên phương thức) được phân bổ, mới, sao chép, muteable bản sao, hoặc init. Các phương thức này chuyển quyền sở hữu - nơi chuyển quyền sở hữu có nghĩa là đối tượng đã được giữ lại cho bạn. Một ví dụ là phương thức initWithFormat: NSString. (Nhớ rằng "quyền sở hữu" không phải là quyền sở hữu độc quyền: Một vài đối tượng có thể đồng thời sở hữu một đối tượng duy nhất.)

    Ngoài ra, bạn không thể cho một tài sản bắt đầu với tên tài sản.

  • Quy tắc 6: Chỉ cần làm theo các quy tắc. Đó là nó - không giữ lại việc phát hành hoặc tự động bỏ qua. Chỉ cần làm theo các quy tắc và mã vào nội dung của trái tim của bạn mà không phải lo lắng về quản lý bộ nhớ.

    Dĩ nhiên, ngoại trừ trong một số trường hợp, bạn cần phải nói rõ cho trình biên dịch biết bạn muốn làm gì. Trong những trường hợp này, bạn sẽ phải nói rõ ràng với trình biên dịch về thời gian sống của một đối tượng.

Cách sử dụng Tự động tính Tham chiếu (ARC) cho Ứng dụng iOS của bạn - núm vú

Lựa chọn của người biên tập

ASVAB Toán học Thực hành Kiến thức: Ký hiệu Khoa học - núm vú

ASVAB Toán học Thực hành Kiến thức: Ký hiệu Khoa học - núm vú

Ký hiệu khoa học là một cách đơn giản để đối phó với số lượng dài . Bởi vì nó phổ biến, bạn có thể mong đợi để chạy vào một vài câu hỏi về bài kiểm tra kiến ​​thức toán học trên ASVAB có liên quan đến khoa học ký hiệu. Câu hỏi thực hành Nếu bạn nhân kết quả là gì? Số lượng đại diện là gì? A. 854, 345 B. 8, 543, 450 C. 0. 0854345 ...

ASVAB Thực hành Kiến thức về Ma học - núm vú

ASVAB Thực hành Kiến thức về Ma học - núm vú

Một trong những bài kiểm tra bạn sẽ tìm thấy trên ASVAB là bài kiểm tra Kiến thức về Toán học. Các câu hỏi mẫu sau đây sẽ cho bạn một ý tưởng về những gì bạn cần biết cho ngày thử nghiệm. Mẫu câu hỏi Toán học Kiến thức Thời gian: 24 phút cho 25 câu hỏi Hướng dẫn: Kiến thức về môn học là bài kiểm tra thứ năm trên ASVAB. Các câu hỏi ...

ASVAB Thực hành Kiến thức về Toán học: Giải quyết các biến - các núm vú

ASVAB Thực hành Kiến thức về Toán học: Giải quyết các biến - các núm vú

Bài kiểm tra kiến ​​thức về toán học trên ASVAB rất nhiều câu hỏi mà bạn được yêu cầu để giải quyết cho một biến trong một phương trình đại số. Cách tốt nhất để làm điều này là để cô lập các biến đó. Các câu hỏi thực hành Giải quyết cho x: 4x + 6 = -30 A. -8 B. 4 C. -9 D. 9 Giải quyết cho ...

Lựa chọn của người biên tập

Lời khuyên để khắc phục các câu hỏi lúng túng cho câu GED RLA - núm vú

Lời khuyên để khắc phục các câu hỏi lúng túng cho câu GED RLA - núm vú

Khó đọc và khó đọc hiểu không. Thử Nghiệm Lý Tưởng Qua GED qua Bài Kiểm Tra Ngôn Ngữ có vẻ hay viết để tránh những câu khó xử. Chúng có thể phức tạp không cần thiết và có thể chứa song song bị lỗi, tiếng nói thụ động, các từ sử dụng sai và các cụm từ rỗng. Khi bạn được trình bày với một câu khó hiểu để sửa bài kiểm tra, hãy thử đọc ...

Mẹo để xác định sự thiên vị và tuyên truyền cho bài kiểm tra xã hội của GED Thử nghiệm

Mẹo để xác định sự thiên vị và tuyên truyền cho bài kiểm tra xã hội của GED Thử nghiệm

Viết thường có xu hướng theo một ý tưởng hoặc nguyên nhân nào đó. Các bài kiểm tra Xã hội học GED sẽ mong đợi bạn có thể xác định được những trường hợp thiên vị hay tuyên truyền này. Tất cả các nhà văn đều biết cụm từ "xoa bóp tin nhắn. "Nó đề cập đến khả năng của tác giả để trình bày thông tin trong bất cứ ánh sáng nào họ muốn. Phương tiện truyền thông làm cuộc sống của họ ...

Lựa chọn của người biên tập

Mở tệp trong Office 2011 for Mac - núm vú

Mở tệp trong Office 2011 for Mac - núm vú

Mọi chương trình trong Office 2011 for Mac đều được liên kết với các tệp phải được mở ra từ trình đơn Tệp. Bất cứ khi nào bạn chọn File → Open hoặc khi bạn chèn nội dung vào các tập tin hiện có bằng cách sử dụng một trình duyệt tập tin, chẳng hạn như khi chọn một hình ảnh để chèn, bạn gặp hộp thoại Mở. Các ứng dụng Office 2011 cho hệ điều hành Mac ...

Văn phòng 2011 dành cho máy Mac All-in-One For Dummies Cheat Sheet - núm vú

Văn phòng 2011 dành cho máy Mac All-in-One For Dummies Cheat Sheet - núm vú

Tận dụng tối đa Microsoft Office 2011 for Mac với các mẹo hữu ích để làm việc trong Office nói chung cũng như xử lý văn bản trong Word, tạo bảng tính trong Excel, tạo các trang trình bày PowerPoint và gửi email với Outlook.

Office 2011 for Mac: Khả năng tương thích giữa các định dạng tệp tin Word - núm vú

Office 2011 for Mac: Khả năng tương thích giữa các định dạng tệp tin Word - núm vú

Bạn có Word 2011, nhớ, không phải tất cả mọi người khác nào. Đôi khi, bạn có thể cần phải lưu các tệp Office 2011 của mình ở định dạng mà những người có phần mềm khác có thể mở. Biết được khả năng phần mềm của những người mà bạn giao tiếp sẽ giúp bạn chọn định dạng phù hợp nhất. May mắn thay, hầu hết mọi trình xử lý văn bản có thể sử dụng ...