5

Tôi muốn thêm một nút trên một chế độ xem động. Đây là mã.UIButton - chúng ta có nên phát hành hay không?

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 

Ở đây, tôi chưa sử dụng chức năng "phân bổ".

Các câu hỏi cho báo cáo này như sau.

  • Nếu chúng tôi đang sử dụng tính năng xem hình ảnh cho cùng một tình huống, chúng tôi phải tạo một số lần xem hình ảnh tạm thời thêm vào chế độ xem hiện tại của bạn và phát hành nó. Phải làm gì cho nút?
  • Các nút được phân bổ và phân bổ như thế nào?
  • Nếu nút được phân bổ? Bộ nhớ của nó được quản lý như thế nào?
  • Bây giờ khi tôi sử dụng [x release]; - Nó đúng hay sai?

Trả lời

10

Không phân bổ/init hoặc mới để nó sẽ được tự động phát hành khi không còn cần thiết nữa. Khi bạn thêm nó vào UIView, số lượng sẽ tăng và được giữ lại bởi khung nhìn, sau đó cũng được phát hành khi khung nhìn được phát hành.

1

Bạn không cần gọi số release trong trường hợp này. Vì bạn đang sử dụng một hàm tạo thuận tiện, đối tượng được trả về là một đối tượng autoreleased.
Nếu bạn sử dụng biểu mẫu phân bổ/init, bạn có trách nhiệm giải phóng đối tượng.

0
UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 

sử dụng phương pháp này u cant relese nút

thay vì sử dụng

UIButton *x = [[UIButton alloc]init]; 

và sau đó phát hành