1、动态获取类的属性和方法
代码如下:
定义两个类SwifitClassA、SwifitClassB让他们尽量多的包含Swifit类型(Character、String、AnyObject、Tuple)
class SwifitClassA {
var aBool: Bool = true
var aInt: UInt = 0
var aFloat: Float = 23.45
var aDouble: Double = 455.654534
var aString: String = "string"
var aObject: AnyObject! = nil
//使用dynamic/@objc修饰就可以使用OC的runtime特性
func testReturnVoidWithaId(aId:UIView) {
}
//不能使用dynamic/@objc修饰,返回值为OC不识别的元组类型
func testReturnCharactor() -> (Int, Bool) {
let aInt:Int = 4
let aBool:Bool = true
return (aInt, aBool)
}
//不能使用dynamic/@objc修饰有OC不识别的类型Character
func testReturnVoidWithCharacter(aCharacter:Character) {
}
}
class SwifitClassB:UIViewController {
var aBool: Bool = true
var aInt: UInt = 0
var aFloat: Float = 23.45
var aDouble: Double = 455.654534
var aString: String = "string"
var aObject: AnyObject! = nil
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
}
func testReturnVoidWithaId(aId:UIView) {
}
func testReturnVoidWithaBool(aBOOl:Bool, aInt:UInt, aFloat:Float, aDouble:Double, aString:String, aObject:AnyObject) {
}
//runTime不能获取有OC不识别的元组类型
func testReturnTuple(aBool:Bool, aInt:Int, afloat:Float) -> (Bool, Int, Float) {
return (aBool, aInt, aFloat)
}
//runTime不能获取有OC不识别的Character类型
func testReturnVoidWithCharactor(aCharactor:Character) {
}
func tableview(table:UITableView, numberOfRowsInSection