Ios swift:声明公共变量

Ios swift:声明公共变量,ios,xcode,variables,swift,public,Ios,Xcode,Variables,Swift,Public,我想将uploadURL公开,也就是说,分配给其他类。 当我添加var uploadURL:String的公共信息时建议我将其设置为内部。我想公开。请帮助如果包含该类的类也是公共的,则可以将其公开,因此请根据该类进行更改。要将其公开,必须将该类声明为公共 默认情况下,修饰符是内部修饰符,这使得未显式声明为私有的类、方法和属性在当前模块中的任何位置都可用 如果您的项目只包含一个应用程序,那么您可能不需要public-internal具有相同的效果。如果您正在开发一个框架,并且需要从其他模块的代码中

我想将uploadURL公开,也就是说,分配给其他类。
当我添加
var uploadURL:String的公共信息时建议我将其设置为内部。我想公开。请帮助

如果包含该类的类也是公共的,则可以将其公开,因此请根据该类进行更改。

要将其公开,必须将该类声明为公共

默认情况下,修饰符是内部修饰符,这使得未显式声明为私有的类、方法和属性在当前模块中的任何位置都可用

如果您的项目只包含一个应用程序,那么您可能不需要public-internal具有相同的效果。如果您正在开发一个框架,并且需要从其他模块的代码中访问该属性,那么您需要将整个类和公开的方法/属性声明为public

建议如下:

描述默认访问级别的摘录:

如果您自己没有指定显式访问级别,那么代码中的所有实体(除了一些特定的例外,如本章后面所述)都具有默认的内部访问级别。因此,在许多情况下,您不需要在代码中指定显式访问级别

单个目标应用程序的访问级别:

当您编写一个简单的单一目标应用程序时,应用程序中的代码通常在应用程序中是自包含的,不需要在应用程序模块之外提供。internal的默认访问级别已符合此要求。因此,您不需要指定自定义访问级别。但是,您可能希望将代码的某些部分标记为私有,以便对应用程序模块中的其他代码隐藏其实现细节


只需在开始时添加一个关键字“public”,这将使其在应用程序中公开。

是的,与此完全相同。所以我必须提及所有方法的public或private?如果我在类声明前面添加public,它会要求我这样做。如果你不指定修饰符,默认值是
internal
。您可以使用
private
将实体的可见性限制在定义实体的当前文件中。您可以使用
public
将其提供给任何模块。我建议阅读文档,我在答案中发布了链接。
class XYActivity: UIActivity,YouTubeHelperDelegate
{
    var youTubeHelper:YouTubeHelper
    var uploadURL: String!
    override init() {
        self.youTubeHelper = YouTubeHelper()
    }
    override  func activityType() -> String? {
        return nil
    }
//
}