2012-01-10 19 views
19

Có tùy chọn trình biên dịch (hay một cách nào đó khác) để xem nơi ARC đang chèn giữ và giải phóng không? Điều này phần lớn là do tò mò. Tôi có thể nhìn thấy chúng trong mã tháo gỡ, nhưng đôi khi khó có thể lội qua được.Xem nơi ARC đang chèn giữ và nhả

+2

+1 câu hỏi rất thú vị. Mặt khác, tôi không thể thấy điều này sẽ giúp bạn như thế nào, nhưng tôi chắc chắn bạn đã có một số tình huống trong tâm trí ...? –

+3

Nó có thể hữu ích nếu bạn phải làm rất nhiều loại phôi __bridge để mã c. Mọi thứ có thể hơi khó hiểu, nhưng như tôi đã nói, tôi hầu như tò mò. Tôi thích biết mọi thứ hoạt động như thế nào không chỉ cách làm cho chúng hoạt động. –

+0

Roger, tôi không hiểu mục tiêu của bạn. Nếu bạn muốn kiểm soát giữ lại vv sau đó chỉ biên dịch như không ARC (-fno-objc-arc). ARC sẽ thêm giữ lại giống như bạn làm, nhưng có lẽ sử dụng sớm hơn-lo ngại hơn bạn có thể. Điều này sẽ giống nhau đối với cả hai hệ điều hành trước ARC và ARC. Andrew – adonoho

Trả lời

0

Không, không. Tôi đồng ý mặc dù, nó sẽ là một bổ sung khá gọn gàng (mặc dù nó sẽ không phục vụ nhiều chức năng)! Và như bạn đã nói, bạn có thể nhìn vào mã tháo gỡ nếu bạn thực sự tò mò.

4

Không. Nếu trình biên dịch cung cấp điều này, bạn sẽ hoàn toàn bị choáng ngợp bởi số lượng giữ lại/phát hành, vì hầu hết trong số chúng được đưa ra trong giai đoạn tối ưu hóa. Nhưng trình biên dịch thậm chí không thể làm điều đó, bởi vì ARC không phải là một giai đoạn tiền xử lý. Đó là một phần của quá trình biên dịch. Vì vậy, bạn sẽ không thể có được bất cứ điều gì ngoài việc nhìn vào hội đồng.

+0

còn khi nào bạn nhận được Mã ARC-ed cho 4.x? –

+0

@Yar: Ý của bạn là gì? –

+0

Mã được biên dịch để hoạt động với iOS 4.x, không thực sự hỗ trợ ARC. Mã đó thực sự được chèn vào mã trước khi biên dịch, phải không? –

Các vấn đề liên quan