ฉันมีหมวดหมู่ใน NSDate และจะสะดวกหากสามารถใช้โปรโตคอลที่ฉันสร้างไว้ก่อนหน้านี้ได้ เป็นไปได้หรือไม่ ไวยากรณ์ที่ถูกต้องสำหรับสิ่งนี้คืออะไร?
ฉันมีหมวดหมู่ใน NSDate และจะสะดวกหากสามารถใช้โปรโตคอลที่ฉันสร้างไว้ก่อนหน้านี้ได้ เป็นไปได้หรือไม่ ไวยากรณ์ที่ถูกต้องสำหรับสิ่งนี้คืออะไร?
คำตอบ:
ใช่เป็นไปได้ ไวยากรณ์คือ:
@interface NSDate (CategoryName) <ProtocolName>
@end
@implementation NSDate (CategoryName)
@end
นี่คือเอกสารของ Appleในหัวข้อ
นอกจากนี้ยังสามารถทำได้โดยใช้ส่วนขยายคลาส ฉันชอบสิ่งนี้มากเพื่อให้สอดคล้องกับโปรโตคอลของผู้ร่วมประชุมแบบส่วนตัว การทำเช่นนี้จะซ่อนรายละเอียดการใช้งานของการเป็นผู้รับมอบสิทธิ์ของคลาสบางคลาสจากอินเทอร์เฟซสาธารณะและลบการอ้างอิงออกจากส่วนหัว