三個(gè)權(quán)限都可以修飾類、屬性、方法
- public : 最大權(quán)限,可以在當(dāng)前framework和其他framwork中訪問;
- **internal : **默認(rèn)權(quán)限,可以在當(dāng)前framework中隨意訪問;
- **private : **私有權(quán)限,只能在當(dāng)前文件中訪問;
注意:
1.在企業(yè)開發(fā)中建議嚴(yán)格控制權(quán)限,不想讓別人訪問的東西一定要private;
2.如果給按鈕的監(jiān)聽方法加上private會(huì)報(bào)錯(cuò),原因是監(jiān)聽事件是由運(yùn)行循環(huán)觸發(fā)的,而如果該方法是私有的只能在當(dāng)前類中訪問;而相同的情況在OC中是沒有問題的,因?yàn)镺C是動(dòng)態(tài)派發(fā)的,Swif中的所有東西都是在編譯時(shí)確定的;如果想讓在Swift方法也支持動(dòng)態(tài)派發(fā),可以在方法前面加上@objc。加上@objc就代表告訴系統(tǒng)需要?jiǎng)討B(tài)派發(fā)
@objc private func compseBtnClick(btn: UIButton)
{
print("hhhhh")
}