您的位置:首页 > 移动开发 > Swift

IOS_Swift1之宏、闭包、UITableView、内部变量、类方法的使用

2014-12-25 15:08 316 查看
宏:

创建一个空白的Swift文件,添加如下代码:屏幕适配

import Foundation
import UIKit

/** 屏幕配置相关宏定义

*

*/

let DEVICE_SCREEN_HEIGHT =
UIScreen.mainScreen().bounds.height
let DEVICE_SCREEN_WIDTH =
UIScreen.mainScreen().bounds.width
let DEVICE_TYPE_ISIPHONE4SLESS:Bool = (DEVICE_SCREEN_HEIGHT
< 568.0)
let DEVICE_TYPE_ISIPHONE5:Bool = (DEVICE_SCREEN_HEIGHT
== 568.0)
let DEVICE_TYPE_ISIPHONE6:Bool = (DEVICE_SCREEN_HEIGHT
== 667.0)
let DEVICE_TYPE_ISIPHONE6P:Bool = (DEVICE_SCREEN_HEIGHT
== 736.0)

闭包:
(1)闭包类型定义

typealias MyBlock = (success:Bool) -> ()
(2)闭包体定义

mblock = {(success:Bool)->()in

println("this is a block code!\(success)")
}
(3)闭包的使用

mblock!(success:true)
内部变量这里定义为:
internal关键字

用这个定义之后,不用加self,可以直接引用这个变量

类方法定义:

class
func test (){

println("this is class method")
}
类方法调用

ClassA.test()

UITableView定义及在另一个文件中的使用

internal var tableview:MyTableViewController=MyTableViewController()

var mblock:MyBlock?

override func viewDidLoad() {

super.viewDidLoad()

tableview.view.frame =
CGRectMake(0,
0, DEVICE_SCREEN_WIDTH,
DEVICE_SCREEN_HEIGHT)
}
注意ViewDidload方法中一定要先实例化对象,然后一定要设置tableview.view.frame。
因为tableview也是一个UIViewController,里面的ViewDidload要在frame设置好之后才能调用。
并且view添加方法一定不能在ViewDidload中。因为这个时候tableview的回调方法可能还没有实现。
这里是吧调用方法添加到按钮的响应事件中来实现的。

@IBAction
func ButtonAction(sender:
AnyObject) {

self.view.addSubview(tableview.view)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: