1. 函數(shù)的派發(fā)機(jī)制:靜態(tài)派發(fā)(直接派發(fā))哈扮、函數(shù)表派發(fā)、消息派發(fā)
2. swift派發(fā)機(jī)制總結(jié):
? ??●? ? swift中所有值類型:struct沽甥、enum使用直接派發(fā)
? ??●? ? swift中協(xié)議的extensions(類似于OC的分類)使用直接派發(fā),初始聲明函數(shù)使用函數(shù)表派發(fā)
? ??●? ? swift中class的extensions使用直接派發(fā),初始化聲明函數(shù)使用函數(shù)表派發(fā)廷区,dynamic修飾的函數(shù)使用消息派發(fā)
? ??●? ? swift中NSObject的子類用@nonobjc或final修飾的函數(shù)使用直接派發(fā),初始聲明函數(shù)使用函數(shù)表派發(fā)贾铝,dynamic修飾的extensions使用消息派發(fā)
3. swift中函數(shù)派發(fā)查看方式:可將swift代碼轉(zhuǎn)換為SIL(中間碼)
swiftc -emit-silgen -O example.swift