zoukankan      html  css  js  c++  java
  • iOS开发--Swift 最近项目开发中遇到的一些小问题与解决方法

    1, Swift 修改导航栏颜色

    self.navigationController?.navigationBar.barTintColor

    2, Swift button

    属性设置时直接进行初始化

    var leftButton : UIButton = UIButton(type: UIButtonType.Custom)

    由于是read-only属性, 所以不可以后修改, 直接在初始化的时候设置.

    Type不推荐用system, 会自动渲染成蓝色.

    button添加触发方法只需要在action参数中, 直接写出方法名的字符串即可, 好明显的函数指针既视感.

    3, Swift的Bool类型

    还是一贯的不允许隐式转换, 所以不可以在OC中0, 1或者直接判断对象存在即为真, 而是要通过逻辑判断, 比如 && || == 这种运算符得到Bool类型的返回值

    4, 可选类型(Optional)

    对于不确定是否存在的参数类型, 抑或是对象类型, 要加?, 代表不确定是否为空, 在确定不为空的情况下用!.

    5, 显示转换

    决不允许隐式转换, 语法都过不去的, 所以对于一些特定情况, 比如for var i = 0; i < n ; ++i循环生成图片, 在frame设置中, 一定要转换成CGFloat(), 再就是要用++i, 而不是i++.

    6, 结构体类型对象

    所有的结构体类型对象都有自带的实例方法, 而不见得非要使用CGRectMake()这种, 直接CGRect(就会索引出实例的构造方法了.

    7, 结构体是值类型, 类对象是引用类型

    值类型, 引用类型不多解释, 了解面向对象语言的同学都知道, Swift中的主要的数据类型都是结构体, 比如Int, Array, Dictionary等等.

    8, init方法继承重写

    不要忘记关键字(override), 先进行父类方法初始化, 不需要返回对象了, 同时也别忘记init?(coder aDecoder: NSCoder)方法, 否则会报错的

    9, 成员变量

    成员变量设置的时候, 实际就已经进行过初始化了, 所以并不需要在代码中再次进行初始化, 直接设置属性即可. 这个和OC中的属性有点差别.

    10, collectionView作为成员变量

    在声明成员变量的时候必要要写完整的实例化方法, frame和flowLayout的设置在代码中重新设置, 否则会内存出错, 提示没有flowLayout.

    11, Swift注释的方法

    // /**/ 条注释 块注释都支持

    /**

      *

      *

      */ 解释注释也支持

    再就是在OC中的#pragma mark

    在Swift中变成了// MARK: 要大写

    目前简单的遇到这么多, 以后再遇到问题, 再来补充.

    ios开发
  • 相关阅读:
    [转载]AXIS学习笔记
    [转]MQ(JMS) 的姊妹篇,Web service实践浅谈原理和用途
    [转]Oracle EXTRACT()函数与to_char() 函数
    [转]Webservice,基于Axis的最佳实践
    IIS出现The specified module could not be found解决方法
    转: ORA12560: TNS:protocol adapter error(TNS:协议适配器错误)
    PLSQL_案例优化系列_分析体系结构如何左右SQL性能(案例2)
    WebADI_数据验证3_建立基于Table的LOV验证(案例)
    PLSQL_案例优化系列_体会索引让SQL举步维艰的一面(案例6)
    PLSQL_案例优化系列_体会函数及位图索引与SQL优化(案例7)
  • 原文地址:https://www.cnblogs.com/XieMinQiang/p/5275717.html
Copyright © 2011-2022 走看看