-
当一个类既要继承父类,又要遵守协议时,父类要在最前面(一个类只能继承一个父类)查看全部
-
1.protocal 相当于“接口”,定义一组规范,再由具体的类、结构体、枚举型变量实现 2.协议的方法中没有具体实现,不能有默认参数,默认参数相当于一种实现 3.协议的属性的读取类型为{get set}可读写或{get}只读,协议属性定义必须为var 4.协议不是类型,不能像类一样初始化,而要创建一个类型来遵守协议 5.Swift中冒号:表示“是一个” 6.协议定义作为一个pet,应有什么属性和方法 7.遵守协议:只要把协议规定的部分实现,其余的可任意创建添加。 8.协议本身可以当作一个类型,和遵守协议而实现的类型是有区别的。 apet 和 myDog 指向同一片内存,只是声明的类型不同查看全部
-
泛型类型<>:在定义类型时使用泛型查看全部
-
泛型:有些情况下需要对多个数据类型进行相同的操作,可以用一个泛型来代替多个不同类型参数或者返回值的重复的方程,通过定义泛型,可以交换任意两个数据类 自带函数swap就是用泛型写的查看全部
-
扩展系统类库 swift 3中,改写作: stride(from:2,to:num ,by:2) ->2,4,6 开区间 stride(from:2,through:num ,by:2) ->2,4,6,8 闭区间 循环变量本身有意义 task用法作用?查看全部
-
只能扩展引用型,扩展值类型需加mutating 只能扩展计算型属性,不能扩展存储型属性,存储型属性可在计算性属性中被修改 只能扩展便利构造函数,必须使用self.init来引用指定构造函数,而指定构造函数不能写在扩展中,只能放在类本身的定义中。查看全部
-
自定义双目运算符 associativity left 结合性 precedence 140 优先级 默认140(范围:0~255),加是140,乘是150查看全部
-
自定义单目运算符查看全部
-
运算符重载:运算符本身就是一个函数,赋值语句不允许被重载。 线代:两个向量相乘产生内积。 inout型参数:最终结果可以在函数外面体现。 prefix 作为前缀,如减号当负号用时,使单目运算符放在左边查看全部
-
!34~42 改写查看全部
-
断言assert 错误处理 注意下标用法为a[ , ],而a [ ][ ]为二维数组查看全部
-
subscript:自定义下标,可有多个,可用getter、setter方法查看全部
-
两天看全部四季查看全部
-
is关键字查看全部
-
检查协议遵守查看全部
举报
0/150
提交
取消