Swift_3.0_初级篇02

我们新建一个项目 选择 Swift 语言 创建好了之后,项目目录结构如下:


目录结构.png

你会发现 Swift 文件很简洁,有 .swift文件, 不像 OC 那么复杂有 .h 和 .m 文件.

点击 AppDelegate.swift
图一.png
点击 ViewController.swift 我们来写一段代码:
        // 创建一个视图
        let v = UIView ()
        v.frame = CGRect(x: 0, y: 20, width: 100, height: 100)
        // let v  = UIView(frame: CGRect(x: 0, y: 20, width: 100, height: 100))
        //设置背景颜色
        v.backgroundColor = UIColor.red
        // 添加到当前视图
        // 访问当前的属性 可以不用写 self. 建议不写 因为容易和 闭包(类似于Block)搞混
        view.addSubview(v)
        //self.view.addSubview(v)

上面的代码首先 比 OC 的简约, 几乎没有" ; " ; 的目的是分割语句的 ,写了也不会错 如下:

 let a = 10
 let b = 20
 let c = 30 ;
 let d = 40 ; let e = 50

我们在创建一个Button 如下代码:

//创建一个按钮
//OC UIButtonTypeContactAdd     
// swift 枚举类型用 “ . ”     
let btn = UIButton (type : .contactAdd)   
v.addSubview(btn)
// 这样就创建好了

// 监听方法 OC 用@selector
// Swift 用 #selector
btn.addTarget(self, action: #selector(buttonClick), for: .touchUpInside)
//2.0 的版本 是直接用的 ""
//btn.addTarget(self, action:"buttonClick", for: .touchUpInside)

//如果需要带参数
 btn.addTarget(self, action: #selector(buttonClick1(btn:)), for: .touchUpInside)
//下面的这种写法也对
//btn.addTarget(self, action: #selector(buttonClick1), for: .touchUpInside)

关于调试:
  • OC用的是 NSlog
  • swift 用的是 print ,没有显示时间,但是效率要比 NSLog 要高
跟踪函数:
  • OC里面是 _FUNCATION_
  • Swift 里面是 #function (3.0改成这样的)

与OC 相比 代码简单化了 看起来变得少了,从开发的角度来说 让其他的开发者 也比较清晰的快速看懂别人写的代码了

关于Swift 方法:

func  name ( parameters ) ->   return type  {
        function body
    }
//Eg:
func buttonClick(btn:UIButton) -> () {
        print(#function)
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,271评论 4 61
  • 汉武帝与康熙两位千古帝王,虽然相隔一千多年,然而却在不同的时空走出了相似的人生曲线。 两者年少即位,但...
    腾叔Nigel阅读 331评论 0 1
  • 张红云 焦点网络初级5期 平顶山 坚持分享第44天( 原创总第212天 2017年7月5日 星期三) ...
    红云_杨柳清风阅读 227评论 0 0
  • 到死也长不大,就是那么小的一个小人儿。遇到沟沟坎坎,被指着额头骂,一下子就缩回拇指般大。天上地下,没有哪...
    卞海纳阅读 315评论 0 0
  • 让爬虫看起来更像人类用户 修改请求头 使用requests模块进行处理网站的表单的时候,是可以设置请求头的。HTT...
    lucky9322阅读 440评论 0 1