{{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 }}) 詳情
商品有效期

已下架

我們不知道該商品何時或是否會重新有庫存。

當前地址無法配送
已售完

商品描述

展開全部描述
Content Description

《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系统框架,并深入研究了其中的某些类。

Author Description

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

Catalogue

前言
致谢
关于作者
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
Introduction

经常听到有人抱怨 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 伴我顺利写完这本书,你们俩真棒!

規格參數

品牌 京東圖書
品牌屬地 China

免責聲明

產品價格、包裝、規格等資訊如有調整,恕不另行通知。我們盡量做到及時更新產品資訊,但請以收到實物為準。使用產品前,請始終閱讀產品隨附的標籤、警告及說明。

查看詳情
加入收藏
{{ $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")}}
由 JD@CHINA 銷售
送至
{{ __("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天內可退換;為了確保每位客戶都能獲得安全和高質量的商品,對於美妝類產品,一經開封或使用即不提供退款或退貨服務,質量問題除外;其他特殊商品需聯繫客服諮詢)。
感謝您的理解和支持。

查看詳情

由 亞米 銷售

亞米電子禮品卡使用規則

若購買時選擇自動儲值,訂單完成後禮品卡將自動儲值至您的帳戶;

若購買時選擇發送郵件,訂單完成後系統將自動發送卡號和密碼到您填寫的郵箱;

寄送郵件時,任何使用者均可使用郵件中的卡號密碼進行禮卡儲值,請妥善保管郵件資訊。

如接收郵件遇到問題,請聯絡客服處理;

發送郵件時,若禮卡沒有被兌換,可以補發郵件。若已經被其他用戶兌換,無法補償;

亞米網電子禮卡可用於購買自營或第三方商品;

亞米網電子禮卡沒有有效期限限制,長期有效;

亞米網電子禮卡的金額,可分多次使用;

亞米網電子禮卡業務規則,最終解釋權歸亞米網所有。

退換政策

已消費的電子禮卡不支持退款。

JD@CHINA 銷售

服務保障

Yami 滿$49免運費
Yami 最優售後
Yami 美國本土出貨

配送資訊

  • 美國

    標準配送 $5.99(不含阿拉斯加,夏威夷),最終價滿$49免運費

    本地配送$5.99(加州,紐約州,新澤西,麻省和賓夕法尼亞,以上州部分地區);最終價滿$49免運費

    兩日達(含阿拉斯加夏威夷)運費19.99美元起

退換政策

提供30天內退還保障。產品需全新未使用原包裝內,並附有購買憑證。產品品質問題、或錯發漏發等,由商家造成的失誤,將進行補發,或退款處理。其它原因需退貨費用由客戶自行承擔。

由 JD@CHINA 銷售

服務保障

Yami 跨店滿$69免運費
Yami 30天退換保障

亞米-中國集運倉

由亞米從中國精選並集合各大優秀店舖的商品至亞米中國整合中心,合併包裹後將一次合包跨國郵寄至您的地址。跨店包郵門檻低至$69。您將在多商家集合提供的廣泛選購商品中選購商品,輕鬆享有跨店鋪包郵後的低郵資。

退換政策

提供30天內退換保障。產品需在全新未使用的原包裝內,並附有購買憑證。產品品質問題、錯發、或漏發等商家造成的失誤,將進行退款處理。其它原因造成的退換貨郵費客戶將需要自行承擔。由於所有商品均長途跋涉,偶有簡易外包壓磨等但不涉及內部品質問題者,不予退換。

配送資訊

亞米中國集運 Consolidated Shipping 運費$9.99(訂單滿$69 包郵)

下單後2個工作天中國商家出貨,所有包裹抵達亞米中國整合中心(除特別情況及中國境內個別法定假日外)會合併包裹後透過UPS發往美國。 UPS從中國出貨後到美國境內的平均時間為10個工作天左右,可隨時根據直發單號追蹤查詢。受疫情影響,目前物流可能延遲5天左右。包裹需要客人簽收。如未簽收,客人須承擔包裹遺失風險。

由 JD@CHINA 銷售

服務保障

滿69免運費
正品保證

配送資訊

Yami Consolidated Shipping 運費$9.99(訂單滿$69包郵)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

積分規則

不參加任何折扣活動以及亞米會員積分制度。

退換政策

提供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')}}

請輸入內容

取消

這是到目前為止的所有評論!

發表評論
商品評分

請輸入評論

  • 一個好的暱稱,會讓你的評論更受歡迎!
  • 修改了這裡的暱稱,個人資料中的暱稱也將被修改。
感謝你的評論
你的好評可以幫助我們的社區發現更好的亞洲商品。

舉報

取消

確認刪除該評論嗎?

取消

歷史瀏覽

品牌故事

京東圖書