swift没有嵌套类吗?
例如,我似乎无法从嵌套类访问主类的属性测试。
class master{
var test = 2;
class nested{
init(){
let example = test; //this doesn't work
}
}
}
Swift的嵌套类与Java的嵌套类不同。好吧,它们就像是Java的一种嵌套类,而不是您正在考虑的那种。
在Java中,内部类的实例会自动引用外部类的实例(除非声明了内部类static
)。如果您有外部类的实例,则只能创建内部类的实例。这就是在Java中您说类似的原因this.new nested()
。
在Swift中,内部类的实例独立于外部类的任何实例。好像Swift中的所有内部类都是使用Java的声明的static
。如果希望内部类的实例具有对外部类的实例的引用,则必须使其明确:
class Master {
var test = 2;
class Nested{
init(master: Master) {
let example = master.test;
}
}
func f() {
// Nested is in scope in the body of Master, so this works:
let n = Nested(master: self)
}
}
var m = Master()
// Outside Master, you must qualify the name of the inner class:
var n = Master.Nested(master:m)
// This doesn't work because Nested isn't an instance property or function:
var n2 = m.Nested()
// This doesn't work because Nested isn't in scope here:
var n3 = Nested(master: m)
Swift 条件语句 在 Swift 语言中,你可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 Swift 语言中 嵌套 if 语句的语法: if boolean_expression_1 { /* 当 boolean_expression_1 表达式 true 时执行 */ if boolean_expression_2 {
目标 了解如何定义嵌套类和何时适合使用它们 了解使用嵌套类的副作用 了解 new 运算符在嵌套类中的特殊用法 了解如何和何时使用静态内部类和匿名内部类 在何处使用嵌套类 顾名思义,嵌套类(或内部类) 是在一个类中定义的另一个类。 public class EnclosingClass { . . . public class NestedClass { . . . } } 像成
我试图提供一种方法,在一个模型中生成一个新对象(列表),在另一个模型中使用has_many关系(通过分组)生成一个新的关联对象(项目)。我能够让表单工作正常,但无法弄清楚为了正确完成创建过程,我缺少什么。 Rails v.5.1.2,Ruby v.2.4.1 lists_controller.rb items_controller.rb list.rb模型 item.rb模型 grouping.r
问题内容: 我可以做以下事情吗? 问题答案: 香草CSS不可能。但是,您可以使用类似: Sass使CSS再次变得有趣。Sass是CSS3的扩展,添加了嵌套规则,变量,mixins,选择器继承等。使用命令行工具或网络框架插件将其转换为格式良好的标准CSS。 要么 不用构造长的选择器名称来指定继承,在Less中,您可以简单地将选择器嵌套在其他选择器中。这样可以使继承更清晰,样式表更短。 例:
本页包含内容: 嵌套类型实例 嵌套类型的引用 枚举类型常被用于实现特定类或结构体的功能。也能够在有多种变量类型的环境中,方便地定义通用类或结构体来使用,为了实现这种功能,Swift允许你定义嵌套类型,可以在枚举类型、类和结构体中定义支持嵌套的类型。 要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要定义多级嵌套。 嵌套类型实例 下面这个例子定义了一个结
我有这门课: ContractDetail类如下所示: