赋值与集合 - Values and Collections.pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
赋值与集合 - Values and Collections

赋值与集合 - Values and Collections 赋值与集合 - Values and Collections 尽管 Objective-C 是⼀种⾯向对象的编程语⾔,它也是C语⾔的加强版,这意味着你可 以在 Objective-C 中使⽤ 准 C 中任意的纯量类型 (⾮对象的),例如 int ,float , char 。在 Cocoa 和 Cocoa Touch 应⽤中,你还可以使⽤⼀些额外的类型,例如 NSInteger ,NSUInteger 和 CGFloat ,在不同的系统结构中,他们的定义⽅式也不同。 纯量类型⽤于当你不需要⽤⼀个对象来表⽰值的时候。字符型经常作为 NSString 的实 例⽽使⽤,数值被存储在纯量类型的局部变量或属性中。 你可以在 Objective-C 中定义与 C 语⾔类似的数组,但是在 Cocoa 和 Cocoa Touch 应 ⽤中,集合被⽤于实例化像 NSArray 或 NSDictionary 这样的类。这些类只能存放对 象,这意味着在添加对象到集合之前,你就要⽤ NSValue NSNumber 或 NSString 这 样的类为对象赋好值。 在前⾯的章节中,我们多次使⽤了 NSString 类、它的初始化、⽅法函数库,@string 字符为创建 NSString 的实例提供了简单的语法。在本章中,我们会通过⽅法调⽤和赋 值语句来⽰范如何使⽤ NSValue 和 NSNumber 类。 你可以使⽤C中的基本数据类型 在 Objective-C 中,C 的每⼀个 scalar 变量类型都是可以使⽤的: int someInteger = 42; float someFloatingPointNumber = 3.1415; double someDoublePrecisionFloatingPointNumber = 6. 2214199e23; 还有 C 的操作符也都可⽤: int someInteger = 42; someInteger++; // someInteger == 43 int anotherInteger = 64; anotherInteger--; // anotherInteger == 63 anotherInteger *= 2; // anotherInteger == 126 如果你要为 Objective-C 属性使⽤纯量类型 ,请这样做: @interface XYZCalculator : NSObject @property double currentValue; @end 你也可以对属性使⽤ C 操作符,⽤点语法进⾏赋值操作,就像这样: @implementation XYZCalculator - (void)increment { self.currentValue++; } - (void)decrement { self.currentValue--; } - (void)multiplyBy :(double)factor { self.currentValue *= factor; } @end 点语法是⼀种纯粹⽤于存取器 (accessor )调⽤⽅法的语法,所以这个例⼦中的每⼀ 条操作都是先使⽤ get accessor ⽅法获取实例变量值,运⾏程序后,再使⽤ set accessor ⽅法存储实例变量值作为结果。 Objective-C中其他的基本类型 BOOL 类型在 Objective-C 中⽤来表⽰布尔值:yes 和 no 。正如你想的那样,yes 在逻 辑上等于 true 和 1,no 等于 false 和 0 ; 在 Cocoa 和 Cocoa Touch 中,许多⽅法的参数也可以使⽤特殊的数据类型,例如 NSInteger 和 CGFloat 。 例如, NSTableViewDataSource 和 UITableViewDataSource 协议 (在之前章节提到 的)都有令数据按⾏显⽰的⽅法: @protocol NSTableViewDataSource NSObject - (NSInteger)numberOfRowsInTableView :(NSTableView *)

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档