大佬教程收集整理的这篇文章主要介绍了Swift - 反射(Reflection)的介绍与使用样例(附KVC介绍),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于C#、Java开发人员来说,肯定都对反射这个概念相当熟悉。所谓反射就是可以动态获取类型、成员信息,同时在运行时(而非编译时)可以动态调用任意方法、属性等行为的特性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
let
user1 =
User
()
user1.name =
"hangge"
user1.age = 100
//将user对象进行反射
print
(
"对象子元素个数:\(hMirror.children.count)"
)
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
}
return
NSNull
()
}
//将可选类型(Optional)拆包
}
return
some
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
let
user1 =
User
()
user1.name =
"hangge"
user1.age = 100
let
name = getValueByKey(user1,key:
"name"
)
let
nickname = getValueByKey(user1,key:
"nickname"
)
let
age = getValueByKey(user1,key:
"age"
)
let
emails = getValueByKey(user1,key:
"emails"
)
let
tel = getValueByKey(user1,key:
"tel"
)
print
(name,nickname,age,emails,tel)
//当然对于获取到的值也可以进行类型判断
}
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
let
user1 =
User
()
user1.name =
"hangge"
user1.age = 100
//使用KVC取值
let
name = user1.valueForKey(
"name"
)
let
nickname = user1.valueForKey(
"nickname"
)
let
age = user1.valueForKey(
"age"
)
let
emails = user1.valueForKey(
"emails"
)
//let tel = user1.valueForKey("tel")
print
(name,emails)
//当然对于获取到的值也可以进行类型判断
}
}
|
1
2
3
4
5
6
7
8
9
|
let
user1 =
User
()
//使用KVC赋值
print
(user1.name,user1.nickname,user1.age,user1.emails)
|
原文出自:@L_489_83@ 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_976.html
http://www.hangge.com/blog/cache/detail_976.html
以上是大佬教程为你收集整理的Swift - 反射(Reflection)的介绍与使用样例(附KVC介绍)全部内容,希望文章能够帮你解决Swift - 反射(Reflection)的介绍与使用样例(附KVC介绍)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。