美文网首页
swift3.0 初学

swift3.0 初学

作者: z我要是唐僧就留在女儿国 | 来源:发表于2017-03-08 11:12 被阅读0次

    之前是有接触过swift的,近几天空闲下来,就准备再看看swift,跟同学聊起来swift,他说他最近上下班都在学,我也阅读了一些关于swift的文章讨论(知乎讨论简书讨论)。所以决定先试着写个简单的tableview试试。

    动手之前先去官方查看了关于swift的介绍,文档多次强调了swift的简洁明了快速,让我一度都有些怀疑,写完简单的tableview,你会发现相比OC,真的是简洁了不知道多少倍!

    先写了一个tableview,学习如何创建和使用视图,swift遵循协议的写法,定义变量(常量)的方式,方法的调用,语法……

    tableview的创建

    swift的语法变动其实还是很大的,为什么呢,更新了swift3.0,2.0的一些就不能用了,OC就不同了,虽然有些方法是被抛弃了,但依然是可以用的。在写tableview的frame的时候,我在百度上找到了一些2.0的写法,已经不适用3.0了,是会报错的,swift是不会向下兼容的。

    tableview的代理方法

    swift都不需要引入头文件,self也不需要加,真的是简洁太多了!

    as! 的用法         id object as! 固定类型的object

    自定义cell

    自定义cell的时候遇到了很多的坑,关于编译器的四项安全检查,关于重写init方法。

    控件类名后面感叹号的意思是:一定不为空,?的意思就:不一定为空。切记……

    效果展示

    2017 4.13更新

    有很多好用的OC库都更新出了swift版本,最近又空了,swift也更新了3.1,就又研究了一下OC的代码约束三方masonry,swift叫SnapKit(github地址),记录一些变化和总结。我是用cocoapods集成的,这里有一点需要注意:

    要多加一行use_frameworks!,不加终端pod install的时候会提醒你这个错误的,所以这里需要稍稍注意。

    再就是导入这个Kit,就可以使用了,使用方法与OC的masonry基本是一致的,少了mas_开头的一些变量,并且在equalTo这个方法里可以直接填写值了。

    这次还是有不太明白的坑点,我把程序入口的main删除了,使用代码作为程序的入口,在设置window的rootviewcontroller的时候初始化遇到了一点点小问题。

    没查阅资料之前,我看到的viewcontroller的初始化方法只有方式一和方式二,方式一很显然是使用可视化编程用代码的初始化,对于网上说的方式二我还是有些模糊的。看到了方式三觉得很好用,那么为什么我们可以用let viewController = ViewController() 这种方式初始化类呢?原因可能是这个初始化方式是来自uikit,也就是调用了Object-c下的UIViewController初始化方法,是object-c 桥接过来的。

    snapkit布局效果

    相关文章

      网友评论

          本文标题:swift3.0 初学

          本文链接:https://www.haomeiwen.com/subject/avxbgttx.html