swift符号命名规则经过穷举法,得出以下规则

swiftc -target arm64-apple-ios8.0 -framework UIKit -emit-sil -sdk \
 /Applications/Xcode.app/Contents/Developer\
/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/ WXTestCell.swift

sil hidden @$s10WXTestCellAAC7testoneyS2i_S4itFZ : $@convention(method) (Int, Int, Int, Int, Int, @thick WXTestCell.Type) -> Int {

恢复符号
xcrun swift-demangle s10WXTestCellAAC7testoneyS2i_S4itFZ          
$s10WXTestCellAAC7testoneyS2i_S4itFZ ---> static WXTestCell.WXTestCell.testone(Swift.Int, Swift.Int, Swift.Int, Swift.Int, Swift.Int) -> Swift.Int


$s // '$s' global  // Swift 稳定mangling版本,swift 4是_T0 swift4.x是$S swift 5+ 是$s

10代表接下来的类名有10长度
WXTestCell 类名
AAC 代表 是类名.类名.call()方法调用结构比如说WXTestCell.WXTestCell.testone(
7 表示方法名的长度
testone 方法名
y是分隔符
S2i 表示2个Swift.Int值,第一个是返回值Swift.Int,第二个是表示第一个入参数Swift.Int
_S4i多余的入参数,按照顺序排列表示有4个Swift.Int参数
tfZ 表示是类函数


宋冬野
32 声望4 粉丝