Swift 初步了解
Swift 初步了解
前言:
本篇博客会结合OC对Swift进行简单介绍.
OC 用NSLog输出日志
NSLog(@"旭宝爱吃鱼");
Swift 用print输出日志
print("旭宝爱吃鱼")
Swift语句结束不需要加 ; 号
import Foundation
print("旭宝爱吃鱼")
常量和变量
OC 定义常量
const int a = 10;
Swift 定义常量
let a = 10
OC 定义变量
int a = 10;
Swift 定义变量
var a:Int = 10
Swift 类型不确定必须先赋初始值,以便确定类型
图片(类型不确定,没有赋初始值)
图片(类型确定,没有赋初始值)
图片(类型不确定,赋初始值)
图片(类型确定,赋初始值)
Float 表示32位浮点型
Double 表示64位浮点型
Swift类型的长度比OC更精确
Int,Int8,Int16,Int32,Int64,UInt
Swift 是类型安全的语言,如果直接赋值错误,直接报错,OC不会
图片(OC)
图片(Swift)
Swift 不允许隐式转换,但是可以显式转换
图片(隐式转换)
图片(显示转换)
对类型长度的检测
图片(可以检测出来的方法)
图片(不可以检测出来的方法->编译不会出错但是运行后崩溃)
编译:
运行:
运算符
+ - * / % ++ --
注意: ++ -- 将在Swift3.0中废弃
OC与Swift除了取模运算符,其他运算符用法都一样
图片(OC取模)
图片(Swift取模->支持小数)
Swift 类型安全 运算时保证运算类型一致(Float转Int取整 不四舍五入)
图片:
OC 支持连续赋值 Swift不支持连续赋值
图片(OC):
图片(Swift):
范围运算符:
封闭范围运算符:
包括闭包区域所有值: a...b
半封闭范围运算符
包含头不包含尾: a..<b
应用场景:遍历数组
for i in 1...5{
print(i)
}
for i in 1..<5{
print(i)
}
BOOL
C OC 并没有真正意义上的bool值
C 0 假 非0即真
OC 的BOOL类型 typedef signed char BOOL
Swift真正的BOOL
真: true 假: false
Swift 初步了解的更多相关文章
- Swift初步介绍
Swift是本届WWDC大会苹果推出的一门新开发语言,开发者网站上已经放出了这门新语言的介绍.教程和手册,如果手里有一台iOS设备的话,通过苹果的iBooks应用,从它的官方书店里搜索Swift,可以 ...
- c++、oc、swift初步评价
c++是面向对象的多态语言: oc是面向对象的动态语言: swift是面向对象.面向协议.高阶类型.函数式编程语言:
- 现代的新语言--Swift初探
新的语言 WWDC简短的介绍,新的语言Swift就问世了,尽管新语言的名字导致贴吧下歌手粉丝和开发人员们争抢地盘- -,只是雨燕就是这么来了. WWDC keynote里给Swift打上了非常多标签: ...
- [转]关于 Swift 的一点初步看法
本文转自:http://onevcat.com/2014/06/my-opinion-about-swift/ 感谢原作者 虽然四点半就起床去排队等入场,结果还是只能坐在了蛮后面的位置看着大屏幕参加了 ...
- 关于 Swift 的一点初步看法
本文转自:http://onevcat.com/2014/06/my-opinion-about-swift/ 感谢原作者 尽管四点半就起床去排队等入场,结果还是仅仅能坐在了蛮后面的位置看着大屏幕參加 ...
- swift学习初步(四)-- 函数
好了,让我们开始接着前几天写的系列博客开始今天的这篇博客.在swift里面如果你需要定义一个方法的话,你需要使用关键字:func,请看下面的这段代码: func sayHello(name:Strin ...
- swift学习初步(三)--控制流操作
在上一篇博客里面,我谈到了swift里面的一些基本类型以及相关的操作,相信你看了之后一定会觉得其实swift也不难嘛.好吧,这篇博客里面要谈的一些高级操作,可能会让你有点头疼了. 好了,废话不多说了, ...
- Swift学习初步(一)
前几天刚刚将有关oc的教程草草的看了一遍,发现oc其实也不像传说的那么难.今天又开始马不停蹄的学习Swift因为我很好奇,到底苹果出的而且想要代替oc的编程语言应该是个什么样子呢?看了网上的一些中文教 ...
- 基于swift语言iOS8的蓝牙连接(初步)
看过一些蓝牙App的事例,大体上对蓝牙的连接过程进行了了解.但是开始真正自己写一个小的BLE程序的时候就举步维艰了.那些模棱两可的概念在头脑中瞬间就蒸发了,所以还是决定从最基本的蓝牙连接过程进行.这里 ...
随机推荐
- react路由深度解析
先看一段代码能否秒懂很重要 这是app.js 全局js的入口 import React from 'react' import { render } from 'react-dom' import ...
- LeetCode - 46. Permutations
46. Permutations Problem's Link -------------------------------------------------------------------- ...
- GETOBJECTOPTIONS
/// <summary> /// 获取对象的选项 /// </summary> public enum GETOBJECTOPTIONS { /// <summary& ...
- Java泛型-类型擦除
一.概述 Java泛型在使用过程有诸多的问题,如不存在List<String>.class, List<Integer>不能赋值给List<Number>(不可协变 ...
- 认识IoC
第一次接触IoC是我在学习MVP框架的时候,搭建一个MVP框架需要用到IoC,那时候就以为IoC就是依赖注入,但在后来的逐步了解中发现那个只是它的别名而已.IoC全称应该是Inversion of C ...
- 做贴吧系统,偶然发现使用iframe的弊端
个人拙见 常听人说起现在不建议使用iframe框架,而我却一再使用,也许是能力有限,一直没在意有什么弊端. 我这此使用的事左右iframe框架,并且只在主页中定义了大背景,每个页面并没有分别定义背景, ...
- 【C#】让ReSharper灰色显示未使用的非私有成员的关键
环境:VS2010+ReSharper8 先说答案: 1.在Inspection Severity中设置Non-private accessibility为Warning.如图: 该页面在ReShar ...
- 奔跑的歌颂 diskgenius 找回了20G数据
2.0同学家的电脑不慎重装系统,结果默认重新分区.其他倒没什么数据,就是几千张记录孩子成长的照片最为珍贵.为了找回数据,用U盘启动,使用Diskgenius全部找回,在此奔歌一下.
- Redis系列三之持久化
一.Redis持久化 Redis是一个支持持久化的内存数据库,redis需要经常将内存中的数据同步到磁盘来保证持久化. redis提供了不同级别的持久化方法: Snapshotting(快照,默认方式 ...
- web项目 验证码 *** 最爱那水货
1. jsp代码 : <Script> function changeImg(){ document.getElementById("certImg").src =&q ...