IOS Swift 训练
// 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 训练的更多相关文章
- iOS swift的xcworkspace多项目管理(架构思想)
iOS swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...
- iOS Swift 模块练习/swift基础学习
SWIFT项目练习 SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图 +控件 1.UIImag ...
- ios swift 实现饼状图进度条,swift环形进度条
ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...
- Building gRPC Client iOS Swift Note Taking App
gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...
- iOS Swift WisdomScanKit图片浏览器功能SDK
iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介 WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
- iOS Swift WisdomHUD 提示界面框架
iOS Swift WisdomHUD 提示界面框架 Framework Use profile(应用简介) 一:WisdomHUD简介 今天给大家介绍一款iOS的界面显示器:WisdomHUD,W ...
- iOS Swift WisdomKeyboardKing 键盘智能管家SDK
iOS Swift WisdomKeyboardKing 键盘智能管家SDK [1]前言: 今天给大家推荐个好用的开源框架:WisdomKeyboardKing,方面iOS日常开发,优点和功能请 ...
- iOS swift项目IM实现,从长连接到数据流解析分析之Socket
iOS swift项目IM实现,从长连接到底层数据解析分析之Socket 一:项目简介: 去年开始接手了一个国企移动项目,项目的需求是实现IM即时通讯功能. * 一期版本功能包括了: ...
随机推荐
- 获取img的高
我们可以通过css设置图片的width,然后通过 clientWidth获取图片的宽,但是这个宽似乎是css里面定义的width值,但是对于图片的高,使用 clientHeight 来获取似乎是有些问 ...
- BZOJ.4031.[HEOI2015]小Z的房间(Matrix Tree定理 辗转相除)
题目链接 辗转相除解行列式的具体实现? 行列式的基本性质. //864kb 64ms //裸的Matrix Tree定理.练习一下用辗转相除解行列式.(因为模数不是质数,所以不能直接乘逆元来高斯消元. ...
- angular.js创建自定义指令-demo3
html: <!doctype html><html ng-app="myModule"> <head> <meta charset=&q ...
- Java程序员面试中的多线程问题1
转自:http://blog.jobbole.com/18571/ 很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework), 理解 ...
- 使用 IntraWeb (37) - TIWApplication
每个访问用户都会拥有一个它的实例(WebApplication), 它除了承载 Session(会话)数据, 还要记忆着用户的浏览器信息.登陆信息等等; 另外, 窗体的建立也都依附(Owner)于它, ...
- Linux C Socket TCP编程介绍及实例
转自:https://blog.csdn.net/lell3538/article/details/53335231 { printf("向服务器发送数据:%s\n",sendbu ...
- kubeadm安装kubernetes V1.11.1 集群
之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方 ...
- iOS:使用莱文斯坦距离算法计算两串字符串的相似度
Levenshtein:莱文斯坦距离 Levenshtein的经典算法,参考http://en.wikipedia.org/wiki/Levenshtein_distance的伪代码实现的,同时参考了 ...
- 一起来给iOS 11找bug: 苹果还是乔布斯时代的细节控吗?
众所周知,前几天苹果在位于苹果公园的Steve Jobs剧院召开了一年一度的新品发布会,正式揭幕了全屏的iPhoneX, 随后又把iOS 11推送给了测试员(Beta Tester)(正式版将于几周后 ...
- WPF背景图
方法一:xaml中:<控件> <控件.Background><ImageBrush ImageSource="/程序集;component/images/xx ...