Swift语言 简明基础 代码演示样例
开发环境:
Mac。Xcode6.0
下面内容均可创建ios common line项目来測试
1、Hello World演示样例
使用xcode创建新的common line项目,查看主文件main.swift,已经自己主动敲入println"HelloSwift"的代码了
--------------------------------------------------------
2 变量和常量
var a = 1 //变量
a = 10 //给变量赋值
var b = 2 //变量
let c = a+b //定义一个常量c。c的值等于变量a和变量b的和
printLn(c) //打印c
--------------------------------------------------------
3 swift语言的类型
var str = "hello" //无类型。即自己主动识别类型
var s:String = "World" //字符串类型
var i:Int = 100 //int类型
var words:String = "http://blog.csdn.net/taotao3686"//
println(str)
--------------------------------------------------------
4 字符串连接
var str = "hello "
str = str + "xiangtao"
str = str + 100 //错误,字符串和数字不能直接用+连接
str = "\(str),adasdf,\(100)" //正确,swift连接字符串的方法
var i = 200
str = "\(str),adasdf,\(i)" //正确,连接字符串和数字变量, 输出hello xiangtao,adasdf,200
println(str)
--------------------------------------------------------
5 数组
var arr = ["hello", "xiangtao", 100, 2.3] //swift数组
println(arr)
var arr1 = [] //空数组
var arr2 = String[]() //仅仅能存放String的空数组
--------------------------------------------------------
6 字典Dict的使用方法
var dict = ["name":"xiangtao","age":"16"]
dict["sex"]="female"
println(dict)
println(dict["name"])
--------------------------------------------------------
7 循环
//遍历数组
var arr = String[]() //定义一个空的字符串数组
//for遍历数组 方式1
for index in 0..100{
arr.append("item \(Index)") //给数组赋值
}
println(arr)
//for遍历数组 方式2
for value in arr{
println(value)
}
//while遍历数组
var i = 0
while i<arr.count {
println(arr[i])
i++
}
//遍历字典
var dict = ["name":"xiangtao","age":"16"]
for (key,value) in dict{
println("\(key),\(value)")
}
--------------------------------------------------------
8 流程控制(推断分支)
//打印100以内偶数
for index in 0..100{
if index%2==0{
println(index)
}
}
//可选变量(O-C中没有)
var myName:String?
="xiangtao" //注意问号
myName = nil
if let name=myName{ //为空则不运行
println("hello \(name)")
}
--------------------------------------------------------
9 函数
func sayHello(name:String){
println("hello \(name)")
}
sayHello("xiangtao")
//swift能够返回多个值
func getNums()->(Int,Int){
return (2,3)
}
let (a,b) = getNums()
println(a) //输出2
//函数当做变量来使用
var fun = sayHello
fun("zhangsan")
//也支持函数闭包(函数内部写函数)
..
--------------------------------------------------------
10 面对对象
class Hi{
func sayHi(){
println("hi xiangtao")
}
}
var hi = Hi()
hi.sayHi()
//继承
class Hello:Hi{
}
var h = Hello()
h.sayHi()
//重写
class Hello2:Hi{
var _name:String
//构造方法
init(name:String){
self._name = name
}
override func sayHi(){
println("hello \(self._name)")
}
}
var h2 = Hello2(name: "zhangsan")
h.sayHi()
--------------------------------------------------------
11 开发ios项目
显示一个网页,新建项目选择IOS->Application->Single View Application
改动ViewController.swift
Web View拖到ViewController
//改动viewDidLoad函数
override func viewDidLoad(){
@IBOutlet var wv:UIWebView
wv.loadRequest(NSURLRequest(URL:NSURL(string:"http://blog.csdn.net/taotao3686")))
}
Swift语言 简明基础 代码演示样例的更多相关文章
- Python Web框架Tornado的异步处理代码演示样例
1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口 ...
- java 覆盖hashCode()深入探讨 代码演示样例
java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...
- c语言学习之结构篇代码演示样例-输入n个同学的姓名,数学英语成绩,依照平均分从低到高排序并输出
#include<stdio.h> void main(){ const int count = 5;//定义数量 struct student{ char name[80]; float ...
- Java中普通代码块,构造代码块,静态代码块的代码演示样例及区分
//运行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 当中静态代码块仅仅运行一次.构造代码块在每次创建对象是都会运行. 1 普通代码块 <span ...
- android动画-动画分类及代码演示样例
原来一直对动画一知半解,仅仅知道依照网上的方法会用即可了,可是自己写起来感觉确实有点费劲,今天最终研究了代码实现,一下子感觉清晰多了.先把总结例如以下,代码中有具体的凝视. 动画分类 1.Peoper ...
- 【甘道夫】Eclipse+Maven搭建HBase开发环境及HBaseDAO代码演示样例
环境: Win764bit Eclipse Version: Kepler Service Release 1 java version "1.7.0_40" 第一步:Eclips ...
- SSL通关之代码演示样例(四)
实际开发过程中,server端是不须要多加代码处理的,由于ssl验证过程是由server(tomcat.nginx等)完毕的. 这段代码也是參考了网上的: 新建一个web项目,项目结构和须要引入的ja ...
- Cocos2d-x使用Javascript开发js绑定C++<代码演示样例>
class IOSiAPDelegate{ public: virtual ~IOSiAPDelegate() {} }; class IOSAlipay{ public: IOSAlipay(); ...
- [Python] SQLBuilder 演示样例代码
用Python写一个SQLBuilder.Java版能够从 http://www.java2s.com/Code/Java/Database-SQL-JDBC/SQLBuilder.htm 看到. 附 ...
随机推荐
- Adobe Dynamic Http Streaming的简单配置与实现 (FMS, HLS, HDS)
http://blog.csdn.net/avsuper/article/details/7663879 Adobe的Http Dynamic Streaming是针对苹果的HLS方案提出基于HTTP ...
- IOS学习笔记45--UITableView性能优化
说实话,面试的时候已经被问到几次这个问题,然后就搜索了一下,看到了这篇优化文章,感觉不错,转来日后作为一种UITableView优化的方法. 使用不透明视图. 不透明的视图可以极大地提高渲染 ...
- html5开放资料
http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html KineticJS教程(12) 摘要: KineticJS教程(12) 作者 ...
- Win10怎么设置点击任务栏上文件夹图标直接打开“我的电脑”?
我们都知道Win10任务栏上的文件夹图标可以打开文件资源管理器,但是点击这个图标后打开的位置却是不固定的,有可能是库文件夹,也有可能是其他常用的位置.怎么设置点击这个图标后直接打开"此电脑& ...
- MySQL_Oracle_事物的隔离级别
数据库会话的设置: 1:脏读 情景:A事物读取B事物修改了但是未提交的数据 问题:若B回滚了事物,A就读到了错误数据. 2:不可重复读 情景:A事物查询数据,B修改了数据,A又查询数据 问题:A事物前 ...
- java 类名.class、object.getClass()和Class.forName()的区别 精析
1.介绍 getClass()介绍 java是面向对象语言,即万物皆对象,所有的对象都直接或间接继承自Object类: Object类中有getClass()方法,通过这个方法就可以获得一个实 ...
- 〖Linux〗VirtualBox修改虚拟电脑硬盘(vdi)空间大小
1. 查看需要修改的虚拟硬盘: [scue@Link:tftpserver]$ vboxmanage list hdds UUID: 79d65850--40c3-a8e7-715b199d1673 ...
- HDU 2795 Billboard (线段树)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 创建简单的Telnet实例
step1.先加入库SuperSocket.Common.dll, SuperSocket.SocketBase.dll, SuperSocket.SocketEngine.dll,log4net.d ...
- Linux 系统访问控制列表ACL
常见的文件系统的一般权限(rwx).特殊权限(SUID,SGID,STICK).隐藏权限(chattr)其实有个共性——权限是针对某一类用户设置的.而如果希望对某个指定的用户进行单独的权限控制,那么就 ...