“private 讓代碼只能在當(dāng)前作用域中被使用,fileprivate 表示代碼只能在當(dāng)前文件中被訪問(wèn)刊棕。但是對(duì)于一個(gè)嚴(yán)格的項(xiàng)目來(lái)說(shuō)炭晒,精確的最小化訪問(wèn)控制級(jí)別對(duì)于代碼的維護(hù)來(lái)說(shuō)還是相當(dāng)重要的。我們想讓同一 module (或者說(shuō)是 target) 中的其他代碼訪問(wèn)的話甥角,保持默認(rèn)的 internal 就可以了网严。如果我們?cè)跒槠渌_發(fā)者開發(fā)庫(kù)的話,可能會(huì)希望用一些 public 甚至 open嗤无,因?yàn)樵?target 外只能調(diào)用到 public 和 open 的代碼震束。public 和 open 的區(qū)別在于,只有被 open 標(biāo)記的內(nèi)容才能在別的框架中被繼承或者重寫当犯。因此垢村,如果你只希望框架的用戶使用某個(gè)類型和方法,而不希望他們繼承或者重寫的話嚎卫,應(yīng)該將其限定為 public 而非 open嘉栓。”
摘錄來(lái)自: 王巍 (onevcat). “Swifter - Swift 必備 Tips (第三版)”驰凛。 iBooks.