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!
时,它建议我将其作为内部。我想把它公之于众。请帮忙
答案 0 :(得分:17)
为了公开,必须将该类声明为public。
默认情况下,修饰符是internal,这使得类,方法和属性在当前模块中的任何位置都没有显式声明为private。
如果您的项目仅包含应用程序,那么您可能不需要公开 - 内部具有相同的效果。如果您正在开发一个框架,并且需要从其他模块中的代码访问该属性,那么您需要将整个类和公开的方法/属性声明为public。
建议阅读:Access Control
摘录描述默认访问级别:
单目标应用的如果您没有自己指定显式访问级别,则代码中的所有实体(具有一些特定的例外情况,如本章后面所述)都具有内部的默认访问级别。因此,在许多情况下,您无需在代码中指定显式访问级别。
和访问级别:
当您编写一个简单的单目标应用程序时,应用程序中的代码通常是自包含在应用程序中的,并且不需要在应用程序模块外部提供。内部的默认访问级别已匹配此要求。因此,您无需指定自定义访问级别。但是,您可能希望将代码的某些部分标记为私有,以便从应用程序模块中的其他代码中隐藏其实现细节。
答案 1 :(得分:3)
如果包含它的类也是公共类,则可以将其公开,因此请根据它进行更改。
答案 2 :(得分:1)
JuST添加关键字" public"一开始,这将在应用程序中公开。