Ios 为什么Xcode对两个相似的变量声明有不同的处理,第一个只显示警告,第二个显示警告+;错误?
我正在研究快速访问控制。我已经想出了下面的代码Ios 为什么Xcode对两个相似的变量声明有不同的处理,第一个只显示警告,第二个显示警告+;错误?,ios,xcode,swift,Ios,Xcode,Swift,我正在研究快速访问控制。我已经想出了下面的代码 private class Random{} class Person { public var name: String = "John" public var aRandom = Random() } 当我声明public-var-name:String=“John”时,它只显示一条警告,说为内部类声明一个公共var 当我声明public var aRandom=Random()时,Xcode还显示了一个错误,它说:属性必须
private class Random{}
class Person {
public var name: String = "John"
public var aRandom = Random()
}
当我声明public-var-name:String=“John”
时,它只显示一条警告,说为内部类声明一个公共var
当我声明public var aRandom=Random()
时,Xcode还显示了一个错误,它说:属性必须声明为私有,因为它的类型“Random”使用私有类型。
。我只是想知道为什么Xcode对这两条语句的处理方式不同,第一条语句只显示警告,第二条语句显示警告+错误
不能将公共变量定义为具有内部或私有类型,因为该类型可能不适用于使用公共变量的任何地方
摘自:苹果公司《Swift编程语言(Swift 2.2预发行版)》,iBooks
Private的意思是隐藏细节或依赖项,以便将来可以在不影响代码用户的情况下更改它们。由于标记为私有,Random
仅对该文件中的code可见。这与您将该类型的变量公开并在模块或框架外部可见的意图相矛盾
name
没有错误的原因是其类型为String
,这是Swift标准库提供的公共类型。它对所有Swift代码都是全局可用的。不能将公共变量定义为具有内部或私有类型,因为该类型可能在使用公共变量的任何地方都不可用
摘自:苹果公司《Swift编程语言(Swift 2.2预发行版)》,iBooks
Private的意思是隐藏细节或依赖项,以便将来可以在不影响代码用户的情况下更改它们。由于标记为私有,Random
仅对该文件中的code可见。这与您将该类型的变量公开并在模块或框架外部可见的意图相矛盾
name
没有错误的原因是其类型为String
,这是Swift标准库提供的公共类型。所有Swift代码均可在全球范围内使用。非常感谢您的宝贵意见。但我只是想知道为什么第一个语句(即public var name:String=“john”)只有一个警告?修改了我的回答,以讨论名称
。非常感谢您的有益评论。但我只是想知道为什么第一个语句(即public var name:String=“john”)只有一个警告?修改了我的回答,讨论了name
。