ฉันเป็นส่วนหนึ่งของทีมพัฒนาแอพ iPad ที่ค่อนข้างใหญ่และมีคลาสที่แตกต่างกันมากมายที่เราสร้างขึ้นมา ปัญหาคือวิธีการบางอย่างตอนนี้ล้าสมัยไปแล้วและฉันไม่ต้องการเพียงแค่เอาออกเพราะฉันรู้ว่าบางส่วนของระบบโดยรวมใช้วิธีการ ... แต่มีตัวแปรที่ดีกว่า (ใหม่กว่า) ซึ่งควรใช้ แทน (เก่าบางคนเรียกจริง ๆ ใหม่ แต่อินเทอร์เฟซสำหรับคลาสโดยรวมจะเริ่มยุ่ง)
มีวิธีที่ฉันสามารถทำเครื่องหมายวิธีการบางอย่างเป็นค่าเสื่อมราคา (เช่น@deprecated
ใน Java และ[Obsolete]
ใน. NET)
ฉันเห็นว่า Apple ใช้ Availability.h และมีแท็กเช่น
__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);
... นี่เป็นวิธีเดียวที่จะทำได้ (+ เป็นที่ App Store ปลอดภัยหรือไม่) หรือมีทางเลือกอื่นที่จะตั้งค่าสถานะการเตือนใน Xcode หรือไม่
__attribute__
ไวยากรณ์ไว้#define __deprecated__ __attribute__((deprecated))