Skip to Main Content
iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
book

iOS 编程基础:Swift、Xcode 和Cocoa 入门指南

by Matt Neuburg
January 2017
Intermediate to advanced content levelIntermediate to advanced
552 pages
9h 43m
Chinese
China Machine Press
Content preview from iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
450
10
再回顾一下第
7
章介绍的自定义运行时特性。该特性就使用了键值编码!当在对象
的身份查看器中定义了运行时特性时,你在第
1
列中所输入的字符串就是个键路径。
10.5.6
数组访问器
键值编码是一项强大的技术,同时拥有很多衍生品(参见
Apple
Key-Value Coding
Programming Guide
了解详情)。这里只介绍其中一种。如果键的值看起来像是个数组
或是集合(即便实际情况并非如此),那么借助于键值编码,对象可以将键合成起来。
你需要实现特别命名的访问器方法;在使用相应的键时,键值编码会看到它们。
为了说明这一点,向对象
myObject
所属的类添加如下方法:
func countOfPepBoys() -> Int {
return self.theData.count
}
func objectInPepBoysAtIndex(ix:Int) -> AnyObject {
return self.theData[ix]
}
通过实
countOf...
objectIn...AtIndex:
,我告诉键值编码系统认为给定的键
"pepBoys"
在并且是个数组。通过键值编码方式获取
"pepBoys"
的值的操作可以成
功,并且返回的对象可以看作
NSArray
,但实际上它是个代理对象(
NSKeyValueArray
)。
现在可以这样做:
let arr : AnyObject = myObject.valueForKey("pepBoys")!
let arr2 : AnyObject ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Mars Geldard, Jonathon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787111556350