zoukankan      html  css  js  c++  java
  • 【读书笔记】100个Switf必备tips

    声明
    欢迎转载,但请保留文章原始出处:) 
    博客园:http://www.cnblogs.com
    农民伯伯: http://over140.cnblogs.com


    正文

    1、Selector
    在Swift中可以用字符串常量来构造Selector,例如:
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "handleMoviePlayerLoadStateDidChange:", name: MPMoviePlayerLoadStateDidChangeNotification, object: nil)
        func handleMoviePlayerLoadStateDidChange(notification: NSNotification)
    注意这个字符串常量最后的那个冒号,如果有一个参数就加1个冒号,没有就不加,多参数则在第一个冒号的后面接上参数名并再加一个冒号,类似于"method:param2:param3:"。
    2、使用多元组(Tuple)交换变量的值
        func swapMe<T>(inout a: T, inout b: T) {
            (a,b) = (b,a)
        }
    3、"="不支持操作符重载(——好像不是本书的内容,暂时一并写在这一起了)
    4、func的参数默认是let不可变的,可以自己自己一个var,注意这并不影响外面的参数,例如:
        func incrementor(var variable: Int) -> Int {
            return ++variable
        } 
    5、需要保证在当前子类实例的成员初始化完成后才能调用父类的初始化方法。子类空初始化方法override init不需要显示的调用super.init
    加convenience的初始化方法子类不能重载,但是可以调用
    加required的初始化方法子类必须重载
    6、在需要处理大量数据并且频繁操作 (增 减) 其中元素时,选择 NSMutableArray 和 NSMutableDictionary 会更好,而对于容器内条 目小而容器本身数目多的情况,应该使用 Swift 语言内建的 Array 和 Dictionary。
    7、一般使用弱引用weak的场景:
    设置delegate时
    在self属性存储为闭包时,其中拥有对self引用时
    8、可以以产生致命错误 (fatalError) 的方式来终止程序
    比如不合法的参数
    9、让一个类属性对内可读写对外只读
        public class MyClass {
            public private(set) var name: String?
        }

    结束

    学习iOS开发差不多快2月了,陆陆续续做了一些笔记,以后也会分享更多swift的内容。非常推荐大家购买和阅读这本电子版的《100个Switf必备tips》(http://swifter.tips/)! 

  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/over140/p/4464160.html
Copyright © 2011-2022 走看看