// Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
var i = 10
let ss = 90
println("fdsa")
println(i)
var days = [ 1: "a", 2: "b" ]
print(days)
print(days[0])
let ha = true;
if ( ha )
{
print("aa");
}
else
{
print("bb");
}
for var index = 1; index < 10; index++
{
print(index);
}
func greet( name:String, day: String ) -> String
{
return name + day;
}
greet("aa", "bb")
func add()->(Int, Int)
{
return(12,23)
}
add()
// class
class CTest
{
var m_age:Int = 10;
func test() -> Int
{
return m_age;
}
}
let tt = CTest();
tt.test()
// string test 1
var myname = "this is a test"
for mm in myname
{
print(mm);
}
// string 大小写转化
let myString = "Wait a moment, please."
let newString = myString.uppercaseString
let myString2 = "Wait a moment, please."
let newString2 = myString.lowercaseString
// 字符串查找
var myString3 = "This is a string test"
if myString3.rangeOfString("string") != nil
{
println("exists")
}
// 字符串分割
var myString4 = "Berlin, Paris, New York, San Francisco"
var myArray = myString4.componentsSeparatedByString(",")
// 先转为NString
var s="1234567890"
var ns1=(s as NSString).substringFromIndex(5)
var ns2=(s as NSString).substringToIndex(4)
var ns3=(s as NSString).substringWithRange(NSMakeRange(4, 1))
// 用自带的区间来实现
let index = advance(s.startIndex, 5)
let index2 = advance(s.endIndex, -6);
var range = Range<String.Index>(start: index2,end: index)
var s1:String = s.substringFromIndex(index)
var s2:String = s.substringToIndex(index2)
var s3 = s.substringWithRange(range)
// 更好的方法
extension String
{
subscript (r: Range<Int>) -> String
{
get {
let startIndex = advance(self.startIndex, r.startIndex)
let endIndex = advance(startIndex, r.endIndex - r.startIndex)
return self[Range(start: startIndex, end: endIndex)]
}
}
}
// 调用
println( s[0...3] )
println( s[1..<3] )
// double to string
let d = 1.0 / 3.0
let sd = String(format: "%0.3f", d)
// string to double
let num = atof( sd )
// 数组的操作
var array = ["ab", "c", "d" ]
// 增加
array.append("ff")
// 删除
let array2 = array.removeAtIndex(1)
println( array )
// 通过下标修改元素
array[0] = "Six eggs"
// 插入元素
println( array )
array.insert("InsertedValue", atIndex: 0)
// 循环
for item in array
{
println(item)
}
// 使用了全局函数enumerate
for (index, value) in enumerate(array)
{
println("Item at index \(index + 1) is \(value)")
}
// 定义一个字典
var dic = Dictionary<Int32, String>()
dic[1] = "a"
dic[2] = "b"
dic[3] = "d"
dic[4] = "f"
dic[5] = "e"
// 用值来删除
dic[2] = nil
println(dic)
// 用key 来删除数据
let removeValue = dic.removeValueForKey( 3 )
println(dic)
// 根据key 修改 value
let oldValue = dic.updateValue("Dubin Internation", forKey:1)
println(dic)
// 迭代数据
for (key, v) in dic
{
println("\(key): \(v)")
}
// 所有的key
for key in dic.keys
{
println("dic key: \(key)")
}
// 所有的value
for v in dic.values
{
println("dic value: \(v)")
}
// 把字典所有的值或者键存储到数组中
let mykeys = Array( dic.keys )
let myvalues = Array( dic.values )
// 闭包的使用
var names2 = ["Swift", "Arial", "Soga", "Donary"]
// 第一种方式:使用函数
func back(firstString: String, secondString: String) -> Bool
{
return firstString > secondString // 升序排序
}
// 这里第二个参数,传了一个函数
var reversed = sorted( names2, back )
println(reversed)
// 第二种排序写法
var rev = sorted( names2, {a,b in return a > b } )
print( rev )
var rev2 = sorted( names2, > )
//////////////////////////////////////////////////////
// 单实例模式
class ZLAnimal: NSObject
{
class var sharedManager: ZLAnimal
{
struct Val
{
static var onceToken: dispatch_once_t = 0
static var staticInstance : ZLAnimal? = nil
}
dispatch_once(&Val.onceToken, { () -> Void in
Val.staticInstance = ZLAnimal()
})
return Val.staticInstance!
}
}
// 单实例的调用
let animal2 = ZLAnimal.sharedManager
println(animal2)
///////////////////////////////////////////////////////
import UIKit
var str = "Hello, playground"
var i = 10
let ss = 90
println("fdsa")
println(i)
var days = [ 1: "a", 2: "b" ]
print(days)
print(days[0])
let ha = true;
if ( ha )
{
print("aa");
}
else
{
print("bb");
}
for var index = 1; index < 10; index++
{
print(index);
}
func greet( name:String, day: String ) -> String
{
return name + day;
}
greet("aa", "bb")
func add()->(Int, Int)
{
return(12,23)
}
add()
// class
class CTest
{
var m_age:Int = 10;
func test() -> Int
{
return m_age;
}
}
let tt = CTest();
tt.test()
// string test 1
var myname = "this is a test"
for mm in myname
{
print(mm);
}
// string 大小写转化
let myString = "Wait a moment, please."
let newString = myString.uppercaseString
let myString2 = "Wait a moment, please."
let newString2 = myString.lowercaseString
// 字符串查找
var myString3 = "This is a string test"
if myString3.rangeOfString("string") != nil
{
println("exists")
}
// 字符串分割
var myString4 = "Berlin, Paris, New York, San Francisco"
var myArray = myString4.componentsSeparatedByString(",")
// 先转为NString
var s="1234567890"
var ns1=(s as NSString).substringFromIndex(5)
var ns2=(s as NSString).substringToIndex(4)
var ns3=(s as NSString).substringWithRange(NSMakeRange(4, 1))
// 用自带的区间来实现
let index = advance(s.startIndex, 5)
let index2 = advance(s.endIndex, -6);
var range = Range<String.Index>(start: index2,end: index)
var s1:String = s.substringFromIndex(index)
var s2:String = s.substringToIndex(index2)
var s3 = s.substringWithRange(range)
// 更好的方法
extension String
{
subscript (r: Range<Int>) -> String
{
get {
let startIndex = advance(self.startIndex, r.startIndex)
let endIndex = advance(startIndex, r.endIndex - r.startIndex)
return self[Range(start: startIndex, end: endIndex)]
}
}
}
// 调用
println( s[0...3] )
println( s[1..<3] )
// double to string
let d = 1.0 / 3.0
let sd = String(format: "%0.3f", d)
// string to double
let num = atof( sd )
// 数组的操作
var array = ["ab", "c", "d" ]
// 增加
array.append("ff")
// 删除
let array2 = array.removeAtIndex(1)
println( array )
// 通过下标修改元素
array[0] = "Six eggs"
// 插入元素
println( array )
array.insert("InsertedValue", atIndex: 0)
// 循环
for item in array
{
println(item)
}
// 使用了全局函数enumerate
for (index, value) in enumerate(array)
{
println("Item at index \(index + 1) is \(value)")
}
// 定义一个字典
var dic = Dictionary<Int32, String>()
dic[1] = "a"
dic[2] = "b"
dic[3] = "d"
dic[4] = "f"
dic[5] = "e"
// 用值来删除
dic[2] = nil
println(dic)
// 用key 来删除数据
let removeValue = dic.removeValueForKey( 3 )
println(dic)
// 根据key 修改 value
let oldValue = dic.updateValue("Dubin Internation", forKey:1)
println(dic)
// 迭代数据
for (key, v) in dic
{
println("\(key): \(v)")
}
// 所有的key
for key in dic.keys
{
println("dic key: \(key)")
}
// 所有的value
for v in dic.values
{
println("dic value: \(v)")
}
// 把字典所有的值或者键存储到数组中
let mykeys = Array( dic.keys )
let myvalues = Array( dic.values )
// 闭包的使用
var names2 = ["Swift", "Arial", "Soga", "Donary"]
// 第一种方式:使用函数
func back(firstString: String, secondString: String) -> Bool
{
return firstString > secondString // 升序排序
}
// 这里第二个参数,传了一个函数
var reversed = sorted( names2, back )
println(reversed)
// 第二种排序写法
var rev = sorted( names2, {a,b in return a > b } )
print( rev )
var rev2 = sorted( names2, > )
//////////////////////////////////////////////////////
// 单实例模式
class ZLAnimal: NSObject
{
class var sharedManager: ZLAnimal
{
struct Val
{
static var onceToken: dispatch_once_t = 0
static var staticInstance : ZLAnimal? = nil
}
dispatch_once(&Val.onceToken, { () -> Void in
Val.staticInstance = ZLAnimal()
})
return Val.staticInstance!
}
}
// 单实例的调用
let animal2 = ZLAnimal.sharedManager
println(animal2)
///////////////////////////////////////////////////////