// Playground - noun: a place where people can play

import Cocoa

var str = "Hello, playground"

str+=",Yes I'm Good";

println("hello swift")

var myvar=

myvar=
let myConstant=
var a:Double= let label="this width is"
let width=
let widthlabel=label+String(width) "I have \(width) apples."
"I have \(String(width)+String(width)) apples"
var shoppingList=["C","B","D","E"]
shoppingList[]="A"
shoppingList
var dict=["A":"yes","B":"no"]
dict["A"]
dict["C"]="Cancel"
dict
var emptyArray=String[]()
emptyArray.append("A")
emptyArray.append("C")
emptyArray var emptyDict=Dictionary<String,Float>()
emptyDict.values
emptyDict=["A":,"B":,"C":] let individualSocres=[,,,,,]
var teamScore=
for score in individualSocres{
if(score>){
teamScore+=
}
else{
teamScore+=
}
}
teamScore
var optional:String?="Hello"
optional=nil
var t="H"
if optional==nil {
t="hello \(optional)"
}else{
t="XX"
} let vegetable="1cecery"
switch vegetable{ //Case 用法
case let x where x.hasSuffix("cery"):
let v="Is it a spicy \(x)" case "cecery":
let v="add some";
case "cecery","":
let v="tttt"
default:
let v="tastes good"
} let interestingNumbers = [
"Prime": [, , , , , ],
"Fibonacci": [, , , , , ],
"Square": [, , , , ],
]
var largest =
for (kind, numbers) in interestingNumbers {
for number in numbers {
if number > largest {
largest = number
}
}
}
largest var n=
while n<{
n=n*
} var firstForLoop=
for i in ..{
firstForLoop+=i
} //多返回值参数
func greet(name:String,day:String)->(String,Double){
return ("hello \(name),today is \(day)",99.0)
} greet("jack","2014-06-09") //数组参数
func sumOf(numbers:Int...)->Int{
var sum=;
for num in numbers{
sum+=num
}
return sum
} sumOf()
sumOf(,,) //嵌套函数
func returnFifteen()->Int{
var y=;
func add(){
y+=;
}
//调用了才执行
add()
return y;
} returnFifteen(); //函数可以作为另一个函数的返回值
func makIncrementer() -> (Int->Int){
func addOne(number:Int)->Int{
return +number;
}
return addOne;
} var increment=makIncrementer();
increment() func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool {
for item in list {
if condition(item) {
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool {
return number <
}
var numbers = [, , , ]
hasAnyMatches(numbers, lessThanTen) //类定义
class Animals{
var name="";
//构造函数
init(name:String){
self.name=name;
}
//方法
func WhatsName()->String{
return "my name is \(name)!";
}
}
//注意构造函数的调用方式
var cat=Animals(name: "dog");
//cat.name="cat";
cat.WhatsName(); //类的继承
class Pig:Animals{
var age:Int{
//在设置之前可以执行某段代码,之后执行用didSet
willSet{
println("aaaa");
}
}; //Getter And Setter
var Age:Int{
get{
return age;
}
set{
age=newValue;
}
} init(age:Int){
self.age=age;
super.init(name:"Pig");
} func HowOld()->String{
return "pig is \(age) years old";
}
//重写
override func WhatsName()->String{
return "pig is a clever animal!";
} } let LittlePig=Pig(age:);
LittlePig.HowOld();
LittlePig.WhatsName();
LittlePig.age;
LittlePig.age=;
LittlePig.Age=; class Counter {
var count: Int =
//方法参数名,可以在为方法体内部使用单独定义一个别名,例如times
func incrementBy(amount a: Int, numberOfTimes times: Int) {
count += a * times
}
}
var counter = Counter()
counter.incrementBy(amount:, numberOfTimes: ) //?之前如果为nil,则之后的会被忽略,否则执行
var os:String;//?="hello jack";
var ai:String?="BBBBB" //枚举
enum Rank: Int {
case Ace = ,Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten,Jack, Queen, King
func simpleDescription() -> String {
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .Queen:
return "queen"
case .King:
return "king"
default:
return String(self.toRaw())
}
}
}
let ace = Rank.Ace
let aceRawValue = ace.toRaw()
ace.simpleDescription();
//struct结构体,值类型,类为引用类型
enum ServerResponse {
case Result(String, String)
case Error(String)
} let success = ServerResponse.Result("36:00 am", "8:09 pm")
let failure = ServerResponse.Error("Out of cheese.") switch success {
case let .Result(sunrise, sunset):
let serverResponse = "Sunrise is at \(sunrise) and sunset is at \(sunset)."
case let .Error(error):
let serverResponse = "Failure... \(error)"
} //接口和扩展
protocol IUser{
var simpleDesc:String{get}
mutating func addJust()
} class SimpleClass:IUser{
var simpleDesc:String="Very well";
func addJust(){
simpleDesc+=" Now implement";
}
} var test=SimpleClass();
test.addJust()
test.simpleDesc; //接口是可以用来扩展类型的功能的
extension String: IUser {
var simpleDesc: String {
return "The number \(self)";
}
mutating func addJust() {
self += "S";
}
}
"OK".simpleDesc
let tx:IUser = test;
tx.simpleDesc //范型
func repeat<T>(item: T, times: Int) -> T[] {
var result = T[]()
for i in ..times {
result += item
}
return result
}
repeat("knock", ) func anyCommonElements <T, U where T: Sequence, U: Sequence, T.GeneratorType.Element: Equatable, T.GeneratorType.Element == U.GeneratorType.Element> (lhs: T, rhs: U) -> Bool {
for lhsItem in lhs {
for rhsItem in rhs {
if lhsItem == rhsItem {
return true
}
}
}
return false
} anyCommonElements([, , ], [,])

IOS Swift 训练的更多相关文章

  1. iOS swift的xcworkspace多项目管理(架构思想)

    iOS  swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...

  2. iOS Swift 模块练习/swift基础学习

    SWIFT项目练习     SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图  +控件 1.UIImag ...

  3. ios swift 实现饼状图进度条,swift环形进度条

    ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...

  4. Building gRPC Client iOS Swift Note Taking App

    gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...

  5. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  6. iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK

    iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言:    今天给大家 ...

  7. iOS Swift WisdomHUD 提示界面框架

    iOS Swift WisdomHUD 提示界面框架  Framework Use profile(应用简介) 一:WisdomHUD简介 今天给大家介绍一款iOS的界面显示器:WisdomHUD,W ...

  8. iOS Swift WisdomKeyboardKing 键盘智能管家SDK

    iOS Swift WisdomKeyboardKing 键盘智能管家SDK [1]前言:    今天给大家推荐个好用的开源框架:WisdomKeyboardKing,方面iOS日常开发,优点和功能请 ...

  9. iOS swift项目IM实现,从长连接到数据流解析分析之Socket

    iOS  swift项目IM实现,从长连接到底层数据解析分析之Socket 一:项目简介:  去年开始接手了一个国企移动项目,项目的需求是实现IM即时通讯功能. * 一期版本功能包括了:       ...

随机推荐

  1. 10.25 正睿停课训练 Day9

    目录 2018.10.25 正睿停课训练 Day9 A 数独(思路 DP) B 红绿灯(最短路Dijkstra) C 轰炸(计算几何 圆并) 考试代码 B C 2018.10.25 正睿停课训练 Da ...

  2. HTML5开发学习:本地存储Web Sql Database

       Web Sql Database,中文翻译作"本地数据库",是随着HTML5规范加入的在浏览器端运行的轻量级数据库.    在HTML5中,大大丰富了客户端本地可以存储的内容 ...

  3. Redis集群方案总结

    Redis集群方案总结 Redis集群方案总结Codis其余方案Redis cluster 目前,Redis中目前集群有以下几种方案: 主从复制 哨兵模式 redis cluster 代理 codis ...

  4. Android MediaPlayer架构 -- 前言小知识点(一)

    在Android中可以使用MediaPlayer+SurfaceView来实现一个简单的多媒体播放器. 一  构造函数 java MediaPlayer class 的源码位置:frameworks\ ...

  5. float类型数保留一位小数

    float类型数保留一位小数 float a = 2.5f; float b = 1.2f; System.out.println(a/b); System.out.println((float)(M ...

  6. [java]struts2入门

    摘要 本文是struts2入门,配置教程.如何在IntelJ Idea中进行手动配置.在使用idea新建struts2web项目的时候,在下载jar包的过程中,下载失败,没办法就直接手动进行下载jar ...

  7. AngularJS中使用$parse或$eval在运行时对Scope变量赋值

    在"AngularJS中自定义有关一个表格的Directive"中自定义了一个有关表格的Direcitve,其表格的表现方式是这样的: <table-helper datas ...

  8. java:@SuppressWarnings注解

    简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上.作用:告诉编译器忽略指定的警告, ...

  9. 学员会诊之02:SVN协作以及Page类的设计

    三层架构的学生管理系统是我们第一个稍微大型的项目:分层.一个解决方案多个Project,所以值得我们停下来好好审查审查. 1.测试SVN服务器地址 我们的作业要求学员创建自己的SVN服务器,并且将代码 ...

  10. [转载]震惊!QWidget竟然可以嵌入到QML中,QMl窗口句柄竟然是这样获取

      背景 记得在初学qml时,就被大佬告知Qml的实现有两种方式“view+item”和“engine+widow”,那么能不能将QWidget嵌入到QML中来呢,我收到的答案是不可以,原因是QML的 ...