web-dev-qa-db-ja.com

swift:パブリック変数を宣言します

class XYActivity: UIActivity,YouTubeHelperDelegate
{
    var youTubeHelper:YouTubeHelper
    var uploadURL: String!
    override init() {
        self.youTubeHelper = YouTubeHelper()
    }
    override  func activityType() -> String? {
        return nil
    }
//
}

UploadURLを公開します。つまり、他のクラスに割り当てられます。 var uploadURL:String!の前にパブリックを追加すると、内部として作成することをお勧めします。公開したい。助けてください

12
rishu1992

クラスをパブリックにするには、クラスをパブリックとして宣言する必要があります。

デフォルトでは、修飾子はinternalであり、明示的にプライベートとして宣言されていないクラス、メソッド、およびプロパティは、現在のモジュールの任意の場所で使用できます。

プロジェクトがアプリのみで構成されている場合は、おそらくパブリックは必要ありません-内部でも同じ効果があります。代わりにフレームワークを開発していて、そのプロパティが他のモジュールのコードからアクセスできる必要がある場合は、クラス全体と公開されているメソッド/プロパティをパブリックとして宣言する必要があります。

推奨される読み物: アクセス制御

デフォルトのアクセスレベルを説明する抜粋:

自分で明示的なアクセスレベルを指定しない場合、コード内のすべてのエンティティ(この章で後述するいくつかの特定の例外を除く)のデフォルトのアクセスレベルは内部です。その結果、多くの場合、コードで明示的なアクセスレベルを指定する必要はありません。

および単一ターゲットアプリのアクセスレベル

シンプルな単一ターゲットアプリを作成する場合、アプリのコードは通常、アプリ内で自己完結型であり、アプリのモジュールの外部で利用できるようにする必要はありません。内部のデフォルトのアクセスレベルは、すでにこの要件に一致しています。したがって、カスタムアクセスレベルを指定する必要はありません。ただし、アプリのモジュール内の他のコードから実装の詳細を隠すために、コードの一部を非公開としてマークしたい場合があります。

17
Antonio

それを含むクラスもパブリックであればパブリックにすることができるので、それに応じて変更してください。

3
Dániel Nagy

JuSTは、最初に「公開」というキーワードを追加して、アプリで公開します。