जवाबों:
आप उपलब्ध टैग का उपयोग कर सकते हैं, उदाहरण के लिए:
@available(*, deprecated)
func myFunc() {
// ...
}
जहां * मंच (iOS, iOSApplicationExtension, macOS, watchOS, tvOS, * सभी के लिए, आदि) है।
तुम भी मंच है जिसमें से यह था के संस्करण निर्दिष्ट कर सकते हैं introduced
, deprecated
, obsoleted
, renamed
, और एक message
:
@available(iOS, deprecated:6.0)
func myFunc() {
// calling this function is deprecated on iOS6+
}
Or
@available(iOS, deprecated: 6.0, obsoleted: 7.0, message: "Because !")
func myFunc() {
// deprecated from iOS6, and obsoleted after iOS7, the message "Because !" is displayed in XCode warnings
}
यदि आपकी परियोजना कई प्लेटफार्मों को लक्षित करती है, तो आप कई टैग का उपयोग कर सकते हैं जैसे:
@available(tvOS, deprecated:9.0.1)
@available(iOS, deprecated:9.1)
@available(macOS, unavailable, message: "Unavailable on macOS")
func myFunc() {
// ...
}
स्विफ्ट प्रलेखन में अधिक जानकारी ।
*, deprecated: 10.0
के लिए यह विरोध होगा iOS 10
, tvOS 10
आदि, मुझे लगता है कि हम गठबंधन नहीं करना चाहिए *
एक संस्करण संख्या के साथ? कैसे बेहतर करने के लिए कोई विचार?
@available(*, deprecated: 10.0)
इसलिए एक बहुत बुरा विचार है कि कोड केवल आईओएस पर नहीं चलना चाहिए
स्विफ्ट 3 और स्विफ्ट 4 को शुरू करना , संस्करण संख्या वैकल्पिक है। अब आप बस टाइप कर सकते हैं:
@available(*, deprecated)
func foo() {
// ...
}
या यदि आप एक संदेश इसके साथ जाना चाहते हैं:
@available(*, deprecated, message: "no longer available ...")
func foo() {
// ...
}
@available(*, deprecated, message = "no longer available ...")
एक संदेश सहित जब लगता है ।
आप इसका उपयोग अपने नए फ़ंक के साथ आपके द्वारा दर्ज किए गए ऑटो-फिक्स के लिए कर सकते हैं
@available(*, deprecated, renamed: "myNewFunc")
func myOldFunc() {
// ...
}
func myNewFunc() {
// ...
}
* के बजाय आप स्विफ्ट का उपयोग कर सकते हैं, स्विफ्ट संस्करण संख्या के लिए।
पदावनत कार्य चेतावनियाँ उत्पन्न करते हैं लेकिन फिर भी कहा जा सकता है। (चेतावनी)
अप्रचलित कार्य इसे पूरी तरह से कहे जाने से रोकते हैं। (त्रुटि)
@available(swift, deprecated: 4.0, obsoleted: 4.2, message: "This will be removed in v4.2, please migrate to ...")
या iOS, macOS, watchOS, tvOS जैसे अन्य विकल्पों का उपयोग करें ...
@available(iOS, deprecated:7.0, obsoleted: <ObsoletedVersion>, renamed: "myFuncNew", message: "Please use new method - myFuncNew()")
func myFuncOld() {
//
}
अगर deployment target
है 9.0
और
1. <ObsoletedVersion>
== 10.0
-warning
2. <ObsoletedVersion>
== 8.0
-compile error
=
एस को:
एस के साथ बदल दिया गया है ।