Trang Chủ Xã hội Truyền thông Cách Sử dụng Thuộc tính Khai báo trong Ứng dụng iOS của Bạn - núm vú

Cách Sử dụng Thuộc tính Khai báo trong Ứng dụng iOS của Bạn - núm vú

Mục lục:

Video: Trải nghiệm thực tế Realme 5 như thế nào? 2025

Video: Trải nghiệm thực tế Realme 5 như thế nào? 2025
Anonim

Mặc dù tài sản và truy cập và accessors mẫu thường được nghiền ngẫm trong tâm trí của ứng dụng iOS lập trình viên, đảm bảo rằng bạn hiểu bản chất độc đáo của tài sản và cách họ thực sự làm việc.

Trong khi phương pháp liên quan đến việc gửi tin nhắn đến các đối tượng để thực hiện công việc, thuộc tính liên quan đến trạng thái của vật thể. Frameworks và các đối tượng khác hoạt động dựa trên những gì chúng tìm thấy trong thuộc tính của chúng (do đó bạn có thể sửa đổi hành vi của đối tượng bằng cách thay đổi thuộc tính).

Bạn cũng có thể muốn biết điều gì đó về trạng thái của đối tượng, chẳng hạn như màu sắc của nó, hoặc về trình điều khiển chế độ xem gốc của cửa sổ.

Bộ điều khiển chế độ xem của ứng dụng, đóng vai trò cầu nối giữa chế độ xem và mô hình, cần phải có khả năng tìm đối tượng mô hình để lấy dữ liệu và gửi bản cập nhật. Tất cả điều này được thực hiện bằng cách sử dụng các thuộc tính. Một tài sản trông như sau:

@ tài sản (mạnh, nonatomic) IBOutlet UIImageView * xe hơi;

Nhưng không phải tất cả các tài sản đều là đại lý. Nếu bạn chọn RTAppDelegate. h trong thanh tra của Dự án, bạn có thể thấy nó bao gồm một thuộc tính:

@ tài sản (mạnh mẽ, không tự nhiên) UIWindow * cửa sổ;

Như bạn thấy, thứ tự của các thuộc tính (mạnh, nonatomic so với nonatomic, mạnh mẽ) không quan trọng.

Tài sản tuyên bố là gì

Tài sản tuyên bố có hai phần: tuyên bố và việc thực hiện của nó.

Tuyên bố sử dụng từ khóa @property, sau đó là một bộ các thuộc tính được đặt trong ngoặc đơn, thông tin loại, và tên của thuộc tính.

Các tên mặc định cho các phương thức getter và setter liên kết với một thuộc tính là

whateverThePropertyNameIs cho các bộ định tuyến getter và setWhateverThePropertyNameIs: . Trong trường hợp chuyến đi, phương thức getter là trip, và phương thức setter là setTrip:. Để truy cập tài sản chuyến đi trong appDelegate, bạn sẽ sử dụng

AppDelegate * appDelegate = [[UIApplication sharedApplication] delegate]; Chuyến đi * thisTrip = [appDelegate trip];

hoặc để thiết lập thuộc tính đó, sử dụng

AppDelegate * appDelegate = [[UIApplication sharedApplication] delegate]; [appDelegate setTrip: newTrip];

Sử dụng dấu chấm

Mục tiêu-C cung cấp một toán tử dấu chấm (.) Cung cấp một sự thay thế cho ký hiệu dấu ngoặc vuông ([] để gọi các phương thức accessor. Bạn sử dụng cú pháp dấu chấm giống như cách bạn muốn khi truy cập vào phần tử cấu trúc C:

Chuyến đi * thisTrip = appDelegate. chuyến đi;

hoặc để thiết lập thuộc tính đó, sử dụng

appDelegate. trip = newTrip;

Khi được sử dụng với các đối tượng, dấu chấm hoạt động như là "cú pháp đường" - nó được biến đổi bởi trình biên dịch thành một thông điệp accessor. Cú pháp dấu chấm không trực tiếp lấy hoặc đặt một biến thể. Các ví dụ mã bằng cách sử dụng nó là chính xác tương đương với việc sử dụng các ký hiệu khung.

Nhiều người lập trình thích cú pháp dấu chấm bởi vì nó có thể dễ đọc hơn; chỉ cần suy nghĩ về những tình huống ghi chú khung nơi bạn đang truy cập vào một thuộc tính là thuộc tính của đối tượng khác (bản thân nó là thuộc tính của một đối tượng khác, v.v …).

Tuy nhiên, lợi thế thực sự của cú pháp dấu chấm là trình biên dịch sẽ tạo ra lỗi

khi phát hiện ra một cố gắng viết thư tới một thuộc tính đã khai báo chỉ đọc. Điều này tốt hơn nhiều so với việc phải giải quyết cho một phương pháp cảnh báo không công bố bởi vì bạn đã gọi phương thức setter không tồn tại, với ứng dụng sau đó không chạy được. Khi bạn sử dụng trình biên dịch để tạo các phương thức accessor cho bạn, trình biên dịch sẽ tạo ra một biến thể của kiểu mà bạn đã tuyên bố rằng nó sẽ sử dụng để lưu trữ và lấy giá trị thuộc tính với tên của thuộc tính. Ví dụ cho thuộc tính sau: @ tài sản (yếu, nonatomic) IBOutlet UIImageView * xe;

tuyên bố

đồng bộ hoá xe;

tạo ra một biến thể với tên xe loại UIImage.

Tuy nhiên, nếu bạn để trình biên dịch tự động tạo ra một lệnh @synthesize cho bạn, nó thực sự sử dụng một tên biến ví dụ bắt đầu với một ký tự gạch dưới, vì vậy bạn sẽ nhận được mã sau đây được tạo ra cho bạn sau hậu trường:

@ tổng hợp xe = _car;

Điều này cho phép bạn phân biệt giữa tên thuộc tính (truy cập bởi self.car) và tên biến dụ (được truy cập đơn giản là _car).

Apple khuyên bạn nên sử dụng tham chiếu thuộc tính (self.car) theo các phương pháp bình thường, nhưng sử dụng biến _car trong phương thức init. Điều này chỉ áp dụng cho mã trong một tệp. Mã ở nơi khác trong ứng dụng của bạn truy cập tài sản do nó được khai báo trong phần @interface của. h.

Không có cách nào mã bất kỳ nơi nào trong ứng dụng ngoại trừ. m của một lớp học có thể truy cập trực tiếp biến dụ khi bạn cho trình biên dịch thực hiện công việc. Và đó là một điều tốt để đảm bảo rằng đóng gói được cung cấp đúng cách.

Viết người truy cập của bạn

Bạn không phải sử dụng accessors do trình biên dịch tạo ra; và, đôi khi, nó thậm chí làm cho tinh thần để thực hiện chúng mình. Nếu bạn tự thực hiện các phương pháp accessor, bạn nên đảm bảo rằng phương pháp của bạn phù hợp với các thuộc tính mà bạn đã khai báo.

Ví dụ: nếu bạn có quá nhiều chi phí để tạo ra một đối tượng không thể sử dụng, bạn có thể tạo bộ truy cập getter riêng của bạn để tạo ra đối tượng trong lần truy cập đầu tiên.Ngoài ra, viết accessor của riêng bạn có nghĩa là bạn không cần phải có một biến dụ liên quan đến tài sản.

Bạn có thể, ví dụ, có một thuộc tính vùng trên một đối tượng đại diện cho một hình chữ nhật. Getter cho khu vực có thể thực hiện chiều dài x chiều rộng và không bao giờ bận tâm với một biến dụ.

Truy cập các biến dụ với accessors

Nếu bạn không sử dụng self, bạn truy cập trực tiếp biến instance. Trong ví dụ sau, phương thức accessor thiết lập cho _currentDestinationIndex không được triệu gọi:

_currentDestinationIndex = [[NSUserDefaults standardUserDefaults] objectForKey: CurrentDestinationKey];

Sự so sánh trước không giống với

tự. currentDestinationIndex = [[NSUserDefaults standardUserDefaults] objectForKey: CurrentDestinationKey];

Để sử dụng accessor, bạn phải sử dụng self.

Cách Sử dụng Thuộc tính Khai báo trong Ứng dụng iOS của Bạn - núm vú

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

Làm thế nào để Thiết lập nhân viên trong QuickBooks Quá trình biên chế nâng cao - núm vú

Làm thế nào để Thiết lập nhân viên trong QuickBooks Quá trình biên chế nâng cao - núm vú

Sau khi bạn thành lập công ty của bạn thông tin cho bảng lương trong QuickBooks, bạn đã sẵn sàng để thiết lập nhân viên cho biên chế. Là một phần của quy trình Thiết lập biên chế nâng cao, QuickBooks hiển thị trang web nơi bạn có thể thêm nhân viên của mình. Bạn cũng có thể thêm nhân viên bằng cách hiển thị Trung tâm Nhân viên. (Chọn lệnh Employee → Employee Center và nhấp chuột ...

Làm thế nào để Thiết lập biểu đồ Tài khoản QuickBooks 2012 - núm vú

Làm thế nào để Thiết lập biểu đồ Tài khoản QuickBooks 2012 - núm vú

Biểu đồ tài khoản Danh sách trong QuickBooks 2012 là danh sách các tài khoản bạn sử dụng để phân loại thu nhập, chi phí, tài sản, nợ phải trả và số vốn chủ sở hữu của chủ sở hữu. Nếu bạn muốn xem chi tiết đơn hàng cụ thể của dữ liệu tài chính trên báo cáo, bạn cần một tài khoản cho chi tiết đơn hàng đó. Nếu bạn muốn ngân sách ...

Cách Thiết lập Máy in để in QuickBooks 2015 Hóa đơn - núm vú

Cách Thiết lập Máy in để in QuickBooks 2015 Hóa đơn - núm vú

Nếu bạn dự định in hóa đơn từ QuickBooks 2015, bạn chỉ cần cài đặt máy in hóa đơn một lần, nhưng bạn cần phải chỉ rõ một số quy tắc in ấn chung về hoá đơn. Các quy tắc này cũng áp dụng cho các bản ghi nhớ tín dụng và các đơn đặt hàng, bằng cách này. Để cài đặt máy in của bạn để in hóa đơn, làm theo các bước sau: Chọn ...

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

Hình ảnh Các chế độ phát trên một Canon EOS 70D - núm vú

Hình ảnh Các chế độ phát trên một Canon EOS 70D - núm vú

Một trong những điều tốt nhất về Canon EOS 70D của bạn có thể xem ảnh ngay sau khi bạn chụp chúng. Không còn đoán xem bạn có bị bắn mà bạn muốn hay cần thử lại; không còn lãng phí tiền bạc khi phát triển và in những bức ảnh bốc mùi. Để chuyển máy ảnh sang chế độ Phát lại, chỉ cần ...

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

Cách xem tab Thông báo của bạn trên Twitter - những con cần

Cách xem tab Thông báo của bạn trên Twitter - những con cần

Xem ai đang tương tác với bạn trên Twitter trực tiếp qua @replies và @mentions (Tweets để đáp ứng hoặc nói chung đề cập đến người dùng cá nhân), các mục yêu thích (cách thừa nhận hoặc đánh dấu trang Tweets) và retweets (chia sẻ nội dung đã được đăng bởi một người dùng Twitter khác). Yêu thích Nhấn vào biểu tượng ngôi sao, hoặc nút Video yêu thích, thêm vào Tweet của bạn ...

Sai lầm Twitter # 1: @reply versus @mention - núm vú

Sai lầm Twitter # 1: @reply versus @mention - núm vú

Mọi người dùng Twitter - mới và cũ - đã trở thành nạn nhân của sự nhầm lẫn giữa @reply versus @mention. Khi nhà phát triển thịnh vượng và nhà chiến lược nội dung Anum Hussein giới thiệu 21 mẹo đăng bài xã hội trên hội nghị INBOUND hàng năm, mẹo để hiểu sự khác biệt giữa @reply và @mention là số một ...

Mẹo vặt để xây dựng sự hiện diện của cá nhân trên Twitter

Mẹo vặt để xây dựng sự hiện diện của cá nhân trên Twitter

Twitter ban đầu phổ biến để giúp các cá nhân giữ liên lạc với bạn bè và người quen của họ qua các cập nhật nhỏ. Nhiều Twitterers cá nhân vẫn có xu hướng sử dụng Twitter theo cách này, cập nhật một vòng tròn gần gũi của bạn bè về những suy nghĩ và những sự kiện xảy ra trong cuộc sống của họ. Theo thời gian, bạn có thể theo kịp với những người mà bạn có thể không liên hệ ...