{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
免运费
Yami

Nickname

请告诉我们怎么更好地称呼你

更新你的名字
账户 订单 收藏
{{ inviteNavTitle }}
退出登录

切换配送区域

不同区域的库存和配送时效可能存在差异.

历史邮编

{{email ? __('Got it!') : __('Restock Alert')}}

我们将在商品到货后第一时间通知你。

取消
Yami

京东图书

Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法(英文版)

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法(英文版)

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
后结束
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
后结束促销
后开始秒杀 后结束秒杀
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) 详情
商品有效期

已下架

当前地址无法配送
已售完

商品描述

展开全部描述
内容简介

《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 英文版》不是在讲Objective-C语言的基础知识,而是要讲如何高效运用这门语言。《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 英文版》共分7章,从7个方面总结和探讨了Objective-C编程中52个鲜为人知又容易被忽视的特性。第1章从整体上讲解Objective-C的核心概念;第2章讲述了与面向对象语言的重要特征(对象、消息和运行期)相关的行为;第3章介绍了如何编写适合与Objective-C搭配的类;第4章讲述协议与分类相关的技巧;第5章介绍内存管理的注意事项;第6章介绍块与大中枢派发(GrandCentralDispatch)相关的技巧;第7章总览了Cocoa和CocoaTouch系统框架,并深入研究了其中的某些类。

作者简介

Matt Galloway,是英国伦敦的一名 iOS 开发人员。他在 2007 年毕业于剑桥大学彭布鲁克学院,获得工学硕士学位,研究方向是电子信息科学。自那时起,他一直从事编程,主要使用 Objective-C。从 iOS 发布 SDK 开始,他一直在 iOS 上进行开发。他的 Twitter 账号是 @mattjgalloway,常常在 Stack Overflow上回答问题。

目录

前言
致谢
关于作者
Chapter 1: Accustoming Yourself to Objective-C
Item 1: Familiarize Yourself with Objective-C’s Roots
Item 2: Minimize Importing Headers in Headers
Item 3: Prefer Literal Syntax over the Equivalent Methods
Item 4: Prefer Typed Constants to Preprocessor #define
Item 5: Use Enumerations for States, Options, and Status Codes
Chapter 2: Objects, Messaging, and the Runtime
Item 6: Understand Properties
Item 7: Access Instance Variables Primarily Directly When
Accessing Them Internally
Item 8: Understand Object Equality
Item 9: Use the Class Cluster Pattern to Hide Implementation Detail
Item 10: Use Associated Objects to Attach Custom Data to Existing Classes
Item 11: Understand the Role of objc_msgSend
Item 12: Understand Message Forwarding
Item 13: Consider Method Swizzling to Debug Opaque Methods
Item 14: Understand What a Class Object Is
Chapter 3: Interface and API Design
Item 15: Use Prefix Names to Avoid Namespace Clashes
Item 16: Have a Designated Initializer
Item 17: Implement the description Method
Item 18: Prefer Immutable Objects
Item 19: Use Clear and Consistent Naming
Item 20: Prefix Private Method Names
Item 21: Understand the Objective-C Error Model
Item 22: Understand the NSCopying Protocol
Chapter 4: Protocols and Categories
Item 23: Use Delegate and Data Source Protocols for Interobject Communication
Item 24: Use Categories to Break Class Implementations into Manageable Segments
Item 25: Always Prefix Category Names on Third-Party Classes
Item 26: Avoid Properties in Categories
Item 27: Use the Class-Continuation Category to Hide Implementation Detail
Item 28: Use a Protocol to Provide Anonymous Objects
Chapter 5: Memory Management
Item 29: Understand Reference Counting
Item 30: Use ARC to Make Reference Counting Easier
Item 31: Release References and Clean Up Observation State Only in dealloc
Item 32: Beware of Memory Management with Exception-Safe Code
Item 33: Use Weak References to Avoid Retain Cycles
Item 34: Use Autorelease Pool Blocks to Reduce High-Memory Waterline
Item 35: Use Zombies to Help Debug Memory-Management Problems
Item 36: Avoid Using retainCount
Chapter 6: Blocks and Grand Central Dispatch
Item 37: Understand Blocks
Item 38: Create typedefs for Common Block Types
Item 39: Use Handler Blocks to Reduce Code Separation
Item 40: Avoid Retain Cycles Introduced by Blocks Referencing the Object Owning Them
Item 41: Prefer Dispatch Queues to Locks for Synchronization
Item 42: Prefer GCD to performSelector and Friends
Item 43: Know When to Use GCD and When to Use Operation Queues
Item 44: Use Dispatch Groups to Take Advantage of Platform Scaling
Item 45: Use dispatch_once for Thread-Safe Single-Time Code Execution
Item 46: Avoid dispatch_get_current_queue
Chapter 7: The System Frameworks
Item 47: Familiarize Yourself with the System Frameworks
Item 48: Prefer Block Enumeration to for Loops
Item 49: Use Toll-Free Bridging for Collections with Custom Memory-Management Semantics
Item 50: Use NSCache Instead of NSDictionary for Caches
Item 51: Keep initialize and load Implementations Lean
Item 52: Remember that NSTimer Retains Its Target
Index
前言/序言

经常听到有人抱怨 Objective-C 这门语言的冗长、笨拙、别扭,但我却认为它优雅、灵活又漂亮。然而,为了领略这些优点,我们不仅要掌握基础知识,还要理解该语言的特性、陷阱及繁难之处。这正是本书要讲述的内容。
关于本书
本书假定读者已经熟悉了 Objective-C 的语法,所以不再对其赘述。本书要讲的是怎样完全发挥这门语言的优势,以编写出良好的代码。由于 Objective-C 源自 Smalltalk,所以它是一门相当动态的语言。在其他语言中,许多工作都由编译器来完成;而在 Objective-C 中,则要由“运行时”(runtime)执行。于是,某个函数即使在测试环境下能正常运行,到了工作环境中也可能会因为处理了无效数据而不能正确执行。避免此类问题的最佳方案,当然是一开始就把代码写好。
严格地说,本书中的许多话题与 Objective-C 的核心部分并无关联。本书要谈到系统库中的技术,例如 libdispatch 库的“大中枢派发”(Grand Central Dispatch)等。因为当前所说的 Objective-C 开发就是指开发 Mac OS X 或 iOS 应用程序,所以,书中也要提及Foundation 框架中的许多类,而不仅仅是其基类 NSObject。不论开发 Mac OS X 程序还是iOS 程序,都无疑会用到系统框架,前者所用的各框架统称为 Cocoa,后者所用的框架则叫作 Cocoa Touch。
随着 iOS 的兴起,许多开发者都加入了 Objective-C 开发的队伍。有的程序员初学编程,有的具备 Java 或 C++ 基础,还有的则是网页开发者出身。无论是哪种,为了能高效运用Objective-C,你都必须花时间研究这门语言,才可能写出更高效、更易于维护、更少 bug 的代码来。
尽管本书的内容只花了 6 个月时间就写好了,但是其酝酿过程却长达数年。几年前的一天,我一时兴起,买了个 iPod Touch;然后等到第一版 SDK 发布之后,我决定试着开发一个程序。我做的第一个“应用程序”叫“Subnet Calc”,其下载量比预想中要多。那时候我感觉到自己以后要和这个美妙的语言结缘了。从此我就一直研究 Objective-C,并定期在自己的网站 www.galloway.me.uk 上发表博客。我对该语言的内部工作原理,如块(block)、自动引用计数(Auto Reference Count,ARC)等特别感兴趣。于是,在有机会写一本讲解Objective-C 的书时,我自然就抓住了机会。
为提升本书的阅读效果,我鼓励大家跳跃阅读,直接翻到最感兴趣或与当前工作有关的章节来看。可以分开阅读每条技巧,也可以按其中所引用的条目跳至其他话题,互相参照。我将各类相关技巧归并成章,所以读者可以根据各章标题快速找到关于某个语言特性的技巧。
本书目标读者
本书面向那些有志于深入研究 Objective-C 的开发者,帮助其编写更便于维护、更高效且更少 bug 的代码。如果你目前还不是 Objective-C 程序员,但是会使用 Java 或 C++ 等其他面向对象的语言,那么你仍可阅读此书,不过你需要先了解一下 Objective-C 的语法。
本书主要内容
本书不打算讲 Objective-C 语言的基础知识,你可以在许多教材和参考资料中找到这些内容。本书要讲的是如何高效运用这门语言。书中内容分为若干条目,每条都是一小块易于理解的文字。这些条目按其所谈话题有逻辑地组织为如下各章。
第 1 章:熟悉 Objective-C(Accustoming Yourself to Objective-C)
从整体上讲解该语言的核心概念。
第 2 章:对象、消息和运行时(Objects, Messaging, and the Runtime)
面向对象语言的一个重要特征是,对象之间能够关联与交互。本章讲述了这些特征,并深入研究代码在运行时的行为。
第 3 章:接口与 API 设计(Interface and API Design)
很少有那种写完就不再复用的代码。即使代码不向更多人公开,也依然有可能用在自己的多个项目中。本章讲解如何编写适合与 Objective-C 搭配的类。
第 4 章:协议与分类(Protocols and Categories)
协议与分类是两个需要掌握的重要语言特性。若运用得当,则可令代码易读、易维护且少出错。本章将帮助读者精通这两个概念。
第 5 章:内存管理(Memory Management)
Objective-C 语言以引用计数来管理内存——许多初学者对此感觉很别扭;如果之前使用的语言以垃圾收集器(garbage collector)来管理内存,那么更会如此。“自动引用计数”机制缓解了此问题,不过使用时有很多重要的注意事项,以确保对象模型正确,不致内存泄漏。本章提醒读者注意内存管理中易犯的错误。
第 6 章:块与大中枢派发(Blocks and Grand Central Dispatch)
苹果公司引入了“块”(block)这一概念,其语法类似于C语言扩展中的闭包(closure)。在 Objective-C 语言中,我们通常用块来实现一些之前需要很多样板代码才能完成的事情,块还能实现代码分离(code separation)。大中枢派发(Grand Central Dispatch,GCD)提供了一套用于多线程环境的简单接口。块可视为 GCD 的任务,取决于系统资源状况,这些任务也许能并发执行。本章将教读者如何充分运用这两项核心技术。
第 7 章:系统框架(The System Frameworks)
大家通常会用 Objective-C 来开发 Mac OS X 或 iOS 程序。在这两种情况下都有一套完整的系统框架可供使用,前者名为 Cocoa,后者名为 Cocoa Touch。本章将总览这些框架,并深入研究其中的某些类。
致谢
在被人问是否愿意写一本关于 Objective-C 的书时,我立刻兴奋了起来。读过了Effective 系列的其他书籍后,我意识到要想写好这本 Objective-C 的书籍可真是个挑战。然而在众人协助之下,这本书终于和大家见面了。
本书中的很多灵感都源自许多专门论述 Objective-C 的精彩博文。所以首先要感谢博文作者 Mike Ash、Matt Gallagher 及“bbum”等人。多年来,这些博客帮助我更深地理解了Objective-C 语言。在编撰本书时,NSHipster 及 Mattt Thompson 所写的优秀文章也启发了我的思路。还要感谢苹果公司提供的极为有用的开发文档。
在供职于 MX Telecom 期间,我学到了许多知识,若没有这段经历,恐怕就无法完成此书了。感谢 Matthew Hodgson,他给了我机会,让我以一套成熟的 C++ 代码库为基础,开发出了公司的第一个iOS应用程序,在该项目中学到的本领为我参与后续项目打下了基础。
感谢历年来保持联系的各位同仁。大家时而切磋技艺,时而把酒言欢,这对我写作本书来说都是一种帮助。
感谢培生集团的编辑团队,与你们的合作相当愉快。Trina MacDonald、Olivia Basegio、Scott Meyers及Chris Zahn都在需要时给予我帮助与鼓励。诸位为我提供了专心写书的工具,并回答了必要的问题。
还要感谢技术编辑们,与你们的合作也非常融洽,你们给了我莫大的帮助。严格的审校帮助本书内容臻于完美。诸位在检查书稿时认真细致的态度也非常令人称赞。
最后我要说,此书能问世,爱妻 Helen 的理解与支持必不可少。准备动笔那天,我们的第一个孩子 Rosie 降生了! Helen 与 Rosie 伴我顺利写完这本书,你们俩真棒!

规格参数

品牌 京东图书
品牌属地 中国
ISBN 9787121272639
著者 [美]Matt Galloway(马特·加洛韦)
出版社 电子工业出版社
印刷时间 2016-03-01
用纸 胶版纸
包装 平装
出版时间 2016-03-01
页数 304
语言 英文
版次 1

免责声明

产品价格、包装、规格等信息如有调整,恕不另行通知。我们尽量做到及时更新产品信息,但请以收到实物为准。使用产品前,请始终阅读产品随附的标签、警告及说明。

查看详情
加入收藏
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
数量
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
由 京东图书 销售
送至
{{ __("Ship to United States only") }}
满$69免运费
正品保证

已加入购物车

继续逛逛

为你推荐

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

优惠券

{{ coupon.coupon_name_new | formatCurrency }}
领取 已领取 已领完
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
即将过期: {{ formatTime(coupon.use_end_time) }}

分享给好友

取消

亚米礼卡专享价

使用礼卡支付即可获得礼卡专享价

规则说明

礼卡专享价是部分商品拥有的特殊优惠价格;

购买礼卡专享价商品时,若在结算时使用电子礼卡抵扣支付,且礼卡余额足够支付订单中所有礼卡专享价商品的专享价总和,则可以启用礼卡专享价;

不使用礼卡支付,或礼卡余额不满足上一条所述要求时,将无法启用礼卡专享价,按照普通售价计算,但您仍然可以购买这些商品;

在购买礼卡专享价商品时,若余额不足,可以在购物车或结算页中点击“充值”按钮对礼卡进行购买和充值;

商品若拥有礼卡专享价,会显示“专享”的特殊价格标记;

如有疑问,请随时联系客服;

礼卡专享价相关规则最终解释权归亚米所有。

由 亚米 销售

服务保障

Yami 满$49免运费
Yami 无忧退换
Yami 从美国发货

配送信息

  • 美国

    标准配送 $5.99(不包含阿拉斯加,夏威夷),最终价满$49免运费

    本地配送$5.99(加州,纽约州,新泽西,麻省和宾夕法尼亚,以上州部分地区);最终价满$49免运费

    两日达(包含阿拉斯加夏威夷)运费$19.99起

退换政策

亚米网希望为我们的客户提供最优秀的售后服务,让所有人都能放心在亚米购物。亚米自营商品在满足退换货条件的情况下,可在收到包裹的30天之内退换商品(食品因商品质量问题7天内可退换;为了确保每位客户都能获得安全和高质量的商品,对于美妆类产品,一经开封或使用即不提供退款或退货服务,质量问题除外;其他特殊商品需联系客服咨询)。
感谢您的理解和支持。

查看详情

由 亚米 销售

亚米电子礼品卡使用规则

若购买时选择自动充值,订单完成后礼卡将自动充值到您的账户中;

若购买时选择发送邮件,订单完成后系统将自动发送卡号和密码到您填写的邮箱;

发送邮件时,任何用户均可使用邮件中的卡号密码进行礼卡充值,请妥善保管邮件信息。

如接收邮件遇到问题,请联系客服处理;

发送邮件时,若礼卡没有被兑换,可以补发邮件。若已经被其他用户兑换,则无法补偿;

亚米网电子礼卡可用于购买自营或第三方商品;

亚米网电子礼卡没有有效期限制,长期有效;

亚米网电子礼卡的金额,可分多次使用;

亚米网电子礼卡业务规则,最终解释权归亚米网所有。

退换政策

已消费的电子礼卡不支持退款。

京东图书 销售

服务保障

Yami 满$49免运费
Yami 最优售后
Yami 美国本土发货

配送信息

  • 美国

    标准配送 $5.99(不包含阿拉斯加,夏威夷),最终价满$49免运费

    本地配送$5.99(加州,纽约州,新泽西,麻省和宾夕法尼亚,以上州部分地区);最终价满$49免运费

    两日达(包含阿拉斯加夏威夷)运费$19.99起

退换政策

提供30天内退还保障。产品需全新未使用原包装内,并附有购买凭据。产品质量问题、或错发漏发等,由商家造成的失误,将进行补发,或退款处理。其它原因需退货费用由客户自行承担。

由 京东图书 销售

服务保障

Yami 跨店满$69免运费
Yami 30天退换保障

亚米-中国集运仓

由亚米从中国精选并集合各大优秀店铺的商品至亚米中国整合中心,合并包裹后将一次合包跨国邮寄至您的地址。跨店铺包邮门槛低至$69。您将在多商家集合提供的广泛选品中选购商品,轻松享受跨店铺包邮后的低邮费。

退换政策

提供30天内退换保障。产品需在全新未使用的原包装内,并附有购买凭据。产品质量问题、错发、或漏发等由商家造成的失误,将进行退款处理。其它原因造成的退换货邮费客户将需要自行承担。由于所有商品均长途跋涉,偶有简易外包压磨等但不涉及内部质量问题者,不予退换。

配送信息

亚米中国集运 Consolidated Shipping 运费$9.99(订单满$69 包邮)

下单后2个工作日中国商家发货,所有包裹抵达亚米中国整合中心(除特别情况及中国境内个别法定节假日外)会合并包裹后通过UPS发往美国。UPS从中国发货后到美国境内的平均时间为10个工作日左右,根据直发单号可随时跟踪查询。受疫情影响,目前物流可能延迟5天左右。包裹需要客人签收。如未签收,客人须承担包裹丢失风险。

由 京东图书 销售

服务保障

满$69免运费
正品保证

配送信息

Yami Consolidated Shipping 运费$9.99(订单满$69包邮)


下单后1-2个工作日内发货。 物流时效预计7-15个工作日。 如遇清关,交货时间将延长3-7天。 最终收货日期以邮政公司信息为准。

积分规则

不参加任何折扣活动以及亚米会员积分制度。

退换政策

提供30天内退还保障。产品需全新未使用原包装内,并附有购买凭据。产品质量问题、或错发漏发等,由商家造成的失误,将进行补发,或退款处理。其它原因需退货费用由客户自行承担。

Yami

下载亚米应用

返回顶部

为你推荐

品牌故事

京东图书

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

评论{{'('+ commentList.posts_count + ')'}}

分享你的感受,帮助更多用户做出选择。

写评论
{{ totalRating }} 写评论
  • {{i}}星

    {{i}}星

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已购买 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已购买 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

暂无符合条件的评论

评论详情

Yami Yami

{{ showTranslate(commentDetails) }}收起

{{ strLimit(commentDetails,800) }}查看全部

Show Original

{{ commentDetails.content }}

Yami
查看更多

{{ formatTime(commentDetails.in_dtm) }} 已购买 {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

请输入内容

回复{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}收起

{{ strLimit(reply,800) }}查看全部

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

请输入内容

取消

End

发表评论
商品评分

请输入评论

  • 一个好的昵称,会让你的评论更受欢迎!
  • 修改了这里的昵称,个人资料中的昵称也将被修改。
感谢你的评论
你的好评可以帮助我们的社区发现更好的亚洲商品。

举报

取消

确认删除该评论吗?

取消

历史浏览

品牌故事

京东图书