@available(*, deprecated, message: "Parse your data by hand instead")
func parseData() { }
@available(*, deprecated, renamed: "loadData")
func fetchData() { }
@available(swift, obsoleted: 4.1, renamed: "attemptConnection")
func testConnection() { }
@available(swift, deprecated: 4.0, obsoleted: 5.0, message: "This will be removed in v5.0; please migrate to a different API.")
5条答案
按热度按时间u4vypkhs1#
__attribute__((deprecated))
是gcc标记一个函数/方法为deprecated的方式(clang也支持),当一个函数/方法被标记为deprecated时,任何人调用它都会产生一个警告。普通函数的语法为
而Objective-C方法的结果是
还可以使用将整个类标记为已弃用
Apple还提供
<AvailabilityMacros.h>
头文件,其中提供DEPRECATED_ATTRIBUTE和DEPRECATED_MSG_ATTRIBUTE(msg)宏,扩展到上述属性,或者如果编译器不支持属性,则不提供任何宏。边注,如果你使用Swift,你可以使用
@available
attribute来弃用一个项目,例如j9per5c42#
您还可以使用可读性更强的define
DEPRECATED_ATTRIBUTE
在
usr/include/AvailabilityMacros.h
中定义:Objective-C方法示例:
您也可以将整个类标记为deprecated:
xuo3flqw3#
斯威夫特5.0
弃用任何使用
@available
的方法/类/结构/协议可能的参数:
欲了解更多信息,请参阅苹果文档:Attributes
dgenwo3n4#
如果您在xcode项目中使用C++14,您还可以使用
[[deprecated]]
或[[deprecated("reason")]]
属性,该属性现在是语言的一部分。参见文档:http://en.cppreference.com/w/cpp/language/attributes
kwvwclae5#
-对于SWIFT代码:
把这个放在方法的正上方:第一个月
示例: