一:认识swift

  1. // 1.导入框架
  2.  
  3. //#import <UIKit/UIKit.h>
  4. import UIKit
  5.  
  6. // 2.定义一个标识符
  7. // int a = 10;
  8. // swift中定义标识符:必须制定该标识符是一个常量还是一个变量
  9. // var(变量)/let(常量) 标识符的名称 : 标识符的类型 = 初始化值
  10. var a : Int = ;
  11. let b : Double = 3.14;
  12. a = ;
  13. // b = 3.11 错误写法
  14.  
  15. // 3.语句结束后可以不跟;
  16. // 前提:一行只有一条语句,如果一行中有多条语句,则需要使用;分割
  17. var m : Int =
  18. let n : Double = 3.44
  19.  
  20. // 4.打印内容
  21. // NSLog(@"%d", a)
  22. print(a)
  23. print("hello world")
  24.  
  25. /**
  26.  
  27. 总结:1:导入框架:oc导入框架:#import <UIKit/UIKit.h> swift导入框架:import UIKit
  28. 2:定义标识符:swift中定义标识符:必须先指定该标识符是一个常量还是一个变量:通用格式:var(变量)/let(常量) 标识符的名称 : 标识符的类型 = 初始化值
  29. 3:语句结束后可以不跟;前提:一行只有一条语句,可以不加分号,如果一行中有多条语句,则需要使用;分割
  30. 4:打印内容:print函数,基本数据类型:print(a) 字符串打印不加@,print("hello world")
  31.  
  32. */
  • Playground是什么?

    • 从Xcode6开始出现(Swift开始出现)
    • 翻译为:操场/游乐场
    • 对于学习Swift基本语法非常方便
      • 所见即所得(快速查看结果)
      • 语法特性发生改变时,可以快速查看.
  • Swift最基本的语法变化
    • 导入框架 import UIKit
    • 定义标识符时,必须声明该标识符是变量还是常量
      • 声明标识符的格式:变量/常量关键字 名称 : 数据类型
    • 语句结束时不需要加;
      • 如果同一行有多个语句,则依然需要加
      • 但是不建议一行多条语句
    • Swift中的打印语句:print(打印的内容)

二:swift中的常量和变量

1:什么是常量和变量

  • 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量
  • 使用let来定义常量,定义之后不可以修改
  • 使用var来定义变量,定义之后可以修改2:

2:常量和变量的基本使用

  1. import UIKit
  2. let a : Int = 10
  3. // 错误写法,当一个字段定义为常量时是不可以修改的
  4. // a = 20
  5. var b : Int = 20
  6. // 因为b定义为变量,因此是可以修改的
  7. b = 30
  8.  

3:常量和变量的使用注意:

  • 注意:
    • 在真实使用过程中,建议先定义常量,如果需要修改再修改为变量(更加安全)
    • 是指向的对象不可以再进行修改(也就是内存地址不可以修改).但是可以通过指针获得对象后,修改对象内部的属性
      1. // 注意:声明为常量不可以修改的意思是指针不可以再指向其他对象.但是可以通过指针拿到对象,修改其中的属性
      2. // view : UIView = [[UIView alloc] init];
      3. // Swift对象中不需要*
      4. var view : UIView = UIView()
      5. view = UIView()
      6. let view1 : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
      7. view1.backgroundColor = UIColor.redColor()
      8. // 枚举类型的用法:类型.枚举的值
      9. let btn : UIButton = UIButton(type: UIButtonType.Custom)
      10. btn.backgroundColor = UIColor.blueColor()
      11. btn.setTitle("按钮", forState: UIControlState.Normal)
      12. btn.frame = CGRect(x: 20, y: 20, width: 60, height: 30)
      13. view1.addSubview(btn)
  1. import UIKit
  2.  
  3. // 1.在开发中优先使用常量,只有在需要修改时,在修改成var
  4.  
  5. // 2.常量本质:保存的内存地址不可以修改,但是可以通过内存地址拿到对象,之后修改对象内部的属性
  6.  
  7. let view : UIView = UIView()
  8. // view = UIView() 错误写法
  9. view.backgroundColor = UIColor.red

其中UIView(),代表创建一个UIView的对象,view指针内存放该对象的内存地址,let修饰,也就是内存地址或是指针所指向的对象不可修改,但是可以通过指针拿到该对象去设置对象内部的属性

swift学习第一天:认识swift以及swift的常量和变量的更多相关文章

  1. Swift学习笔记(十四)——字符,常量字符串与变量字符串

    在学习Java过程中,字符串碰到过String和StringBuffer,当中前者是不可变的,不能对字符串进行改动:后者是可变的,能够不断改动. 来到Swift中,对字符串的定义变的更加简单. (1) ...

  2. Swift学习第一天--面向过程

    //: Playground - noun: a place where people can play import UIKit //---------------------- Hello wor ...

  3. swift学习第一天---常量变量基础数据类型

    import Foundation /** * 1.常量 变量 知识要点:常量的定义用let 变量的定义用var 常量一旦定义便不可再更改. 变量定义之后可以在定义之后的程序中任意地方进行修改. */ ...

  4. swift系统学习第一章

    第一节:变量,常量,类型推断,字符,字符串 //swift学习第一节 /* 变量 常量 类型推断 字符 字符串 */ import UIKit //变量 var str = "swift&q ...

  5. swift 学习(二)基础知识 (函数,闭包,ARC,柯里化,反射)

    函数 func x(a:Int, b:Int)  {}   func x(a:Int, b:Int) -> Void {}  func x(a:Int, b:Int) ->(Int,Int ...

  6. The Swift Programming Language-官方教程精译Swift(2)基础知识

    Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Ar ...

  7. 智捷公开课马上开始了-欢迎大家一起讨论学习-第一系列读《Swift开发指南(修订版) 》看Swift视频教程

    引用: 智捷课堂携手51CTO学院.图灵教育联合举办iOS线上培训就业班系列体验公开课. 分享移动开发.移动设计方向最新,最热,最抢眼技术热点以及设计经验.我们每周将最少举办一次公开课,同时会提前安排 ...

  8. swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  9. swift学习笔记4——扩展、协议

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

随机推荐

  1. elasticsearch java 客户端之action简介

    上一篇介绍了elasticsearch的client结构,client只是一个门面,在每个方法后面都有一个action来承接相应的功能.但是action也并非是真正的功能实现者,它只是一个代理,它的真 ...

  2. Impala是什么?

    Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统虽然也提供了SQL语义,但由于Hive底层 ...

  3. 1.3 Quick Start中 Step 3: Create a topic官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 3: Create a topic Step 3: 创建一个主题(topi ...

  4. VB 宏+mysql解决EXCEL表格实现自动化处理

    1.表格模板自动建立源码 Sub opp()Dim myPath$, myFile$, AK As WorkbookApplication.ScreenUpdating = FalsemyPath = ...

  5. Dao层封装泛型实现(spring mvc,springjdbctemplate)

    代码片段(6) [全屏查看所有代码] 1. [代码]BaseDao     跳至 [1] [2] [3] [4] [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  6. SpringMVC 传递相同名称的参数的最佳方法

    华为云4核8G,高性能云服务器,免费试用 >>>   SpringMVC 多个对象的相同字段参数传递解决方案,在SpringMVC中,有时需要传递多个对象(除了Model和web元素 ...

  7. amazeui学习笔记一(开始使用2)--布局示例layouts

    amazeui学习笔记一(开始使用2)--布局示例layouts 一.总结 1.样例分析(不要忘记,优先分析这个布局示例):有教你页面怎么布局的,实例中可以分析一波 2.响应式:对应meta标签中的v ...

  8. 3. ZAB与Paxos算法的联系与区别。

    转自:https://blog.csdn.net/en_joker/article/details/78665809 ZAB协议并不是Paxos算法的一个典型实现,在讲解ZAB和Paxos之间的区别之 ...

  9. Android 图片缓存处理

    异步下载 / 本地缓存 异步下载 大家都知道,在Android应用中UI线程5秒没响应的话就会抛出无响应异常,对于远程获取大的资源来说,这种异常还是很容易就会抛出来的,那么怎么避免这种问题的产生.在a ...

  10. js原生代码实现鼠标拖拽(超简单)

    首先先来看这一张图 在这种图中,盒子的大小为512px,并且margin-left:-250px margin-top:140px;并通过一些样式让其在中部显示 这些样式都不是重要的,这里加个marg ...