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程序的时候就举步维艰了.那些模棱两可的概念在头脑中瞬间就蒸发了,所以还是决定从最基本的蓝牙连接过程进行.这里 ...
随机推荐
- 了解SpringMVC框架及基本工作流程
传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此, ...
- 移动端中pagehide、pageshow的应用
闲话少叙,来进入场景:订单提交页面,各种积分礼品卡规则都算好了,用户提交表单开始支付,支付完成进入成功提示页面,这是绝大部分网站的付款体验吧,那么问题来了,web移动端中进入成功提示页后,用户点击浏览 ...
- Sandcastle帮助文档生成器使用介绍
一.软件介绍 Sandcastle是一个管理类库的文档编译器,是用于编译发布组件(Assembly)信息的一个工具,这个工具通过反射和Xslt技术,可以从dll文件及其xml注释(命令行编 ...
- 检测WCF服务是否在线(动态执行WCF服务)
在我们的系统里有多个wcf支撑.但是有的时候会莫名的停止,于是今天写了一个服务,定时去检测其他wcf服务是否在线.那么最简单的办法自然是引用其他wcf服务让vs给我们自动生成clientProxy然后 ...
- Socket.Available 属性
获取已经从网络接收且可供读取的数据量. 命名空间: System.Net.Sockets程序集: System(System.dll 中) 从网络接收的.可供读取的数据的字节数. 异常 Ex ...
- 用php怎么写一个用户注册登录的页面呢?
想写就会尽快去写.如果用php写了就一定要用nodejs写出来啊,不写是小狗啊! 补充一下,想要实现的功能: 1.用户名重复检测 2.检测信息填写是否完整 3.邮箱是否已经被注册 4.实现ajax无刷 ...
- 使用POI替换word中的特定字符/文字改进版
package com.xfzx.test.POI.main; import java.io.File; import java.io.FileInputStream; import java.io. ...
- C#编程总结(四)多线程应用
C#编程总结(四)多线程应用 多线程应用很广泛,简单总结了一下: 1)不阻断主线程,实现即时响应,由后台线程完成特定操作2)多个线程,完成同类任务,提高并发性能3)一个任务有多个独立的步骤,多个线程并 ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(十四)StreamTools
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(八)SharpZipLibGzipCompressor
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...