// 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. CF1039C.Network Safety

    目录 题目链接 题解 代码 题目链接 CF1039C.Network Safety 题解 对于一对相邻点,^异或后相同的值唯一a_i ^ t= b_i,a_i ^ b_i = t 对于不在t集合的直接 ...

  2. bzoj3693: 圆桌会议 二分图 hall定理

    目录 题目链接 题解 代码 题目链接 bzoj3693: 圆桌会议 题解 对与每个人构建二分,问题化为时候有一个匹配取了所有的人 Hall定理--对于任意的二分图G,G的两个部分为X={x1,x2,- ...

  3. 10.16 NOIP模拟赛

    目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...

  4. FlarumChina SQL injection Vulnerability

    First,We need to download our vulnerable program in GitHub links:https://github.com/skywalker512/Fla ...

  5. 专业方向系列-00-Python与有限元初探

    案例1 给出4个弹簧的劲度系数,离散后,求其总的刚度矩阵. 代码: import numpy as np k1, k2, k3, k4 = 500, 250, 2000, 1000 ki = np.a ...

  6. 自动部署tomcat 脚本

    自动部署tomcat 脚本 . /etc/init.d/functions #调用系统函数 yum -y install java >/dev/null TAR="apache-tom ...

  7. Java API概述

    collection of APIs(Application Programming Interface) java.lang — automatically imported into Java p ...

  8. wampServer 安装 Redis 扩展

    REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守B ...

  9. Ping监控脚本

    需求 内网服务器之间高频率检验延时信息, 脚本特点 多进程,可同时异步监控多个地址,不会互相影响. 使用方式 创建文件夹(可以替换为你自己的,我这里就用我们生产环境的标准目录了) mkdir /dat ...

  10. HBase官方文档 之 Region的相关知识

    HBase是以Region为最小的存储和负载单元(这里可不是HDFS的存储单元),因此Region的负载管理,关系到了数据读写的性能.先抛开Region如何切分不说,看看Region是如何分配到各个R ...