যেহেতু আমাদের পুরানো ওএসগুলিকে সমর্থন করার প্রয়োজন রয়েছে তবে আমাদের সতর্কতার প্রতি মনোযোগ দিন, আমি এটি করার একটি আরও সুষ্ঠু উপায় চাই। কিছু মজিলা কোড দ্বারা অনুপ্রাণিত হয়ে আমি এটি একসাথে রেখেছি:
#define SILENCE_DEPRECATION(expr) \
do { \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") \
expr; \
_Pragma("clang diagnostic pop") \
} while(0)
#define SILENCE_IOS7_DEPRECATION(expr) SILENCE_DEPRECATION(expr)
#define SILENCE_IOS8_DEPRECATION(expr) SILENCE_DEPRECATION(expr)
এটি আপনাকে নিম্নলিখিতগুলি করতে সহায়তা করে:
SILENCE_IOS7_DEPRECATION(return [self sizeWithFont:font constrainedToSize:size]);
এটি কোডের ব্লকগুলির সাথেও কাজ করে:
SILENCE_IOS7_DEPRECATION(
view = [[MKPolylineView alloc] initWithPolyline:self];
view.lineWidth = self.lineWidth;
view.strokeColor = self.color;
);
এছাড়াও, যখন আপনি প্রি-আইওএস 7 ডিভাইসগুলির জন্য ড্রপ সমর্থন করেন, তখন আপনি সহজেই কোডের মাধ্যমে অনুসন্ধানের জন্য অবনমিত ব্যবহারগুলি স্থির করতে সন্ধান করতে পারেন।