全部零食
饼干 糕点 甜品
饼干 脆棒 烤馍片 酥饼
凤梨酥 麻薯 沙琪玛
蛋糕 面包 派 铜锣烧
网红零食🔥
童年同款辣条
茶颜悦色·超全到货
日韩便利店必买
夏日开新局
推荐品牌✨
CALBEE卡乐比
韩国乐天
NABATI
肉类 海味 坚果 蜜饯
坚果 花生 瓜子 炒货
凤爪 肉肠 肉干 卤味
辣条 豆制品 蔬果干 蜜饯
海味小食 鱼肠 海苔
烘焙早餐🥐
面包蛋糕 中式点心 曲奇饼干 休闲 膨化 薯片 膨化 薯片 虾条 点心面 米果 威化 蛋卷 麻花 锅巴
全部速食粮油
方便速食 泡面 自热火锅
方便面 拉面 杯面 即食年糕
自热火锅 冒菜 麻辣烫 烤冷面
螺蛳粉 方便粉丝 酸辣粉 凉皮
日本速食 泡面炒面
韩国速食 拉面年糕
低卡粉面 🍜
味觉光谱
🍖炙烤狂欢 BBQ派对
泡面界顶流之争
无辣不欢
清淡之选
推荐品牌✨
NONGSHIM农心
MARUTAI
INDOMIE
火锅底料 厨房调味
火锅底料
蘸料 花生酱 麻酱
干锅料 水煮鱼 料包
汤料 卤料包
酱油 酱汁 蚝油
白醋陈醋
辣椒酱/粉 豆瓣酱
料酒 香油 香辛大料
盐/糖 冰糖 红糖
调味酱 调味料 烧烤酱
沙拉酱 番茄酱 咖喱
低卡酱汁🧂
粮油米面 副食干货
米粉/线 面条 粉丝
大米 糯米 糙米
五谷杂粮 豆子
面粉 面点 预拌粉
玉米 粘豆包 煎饼 特产 年糕
食用油 橄榄油
豆皮 紫菜 海带结 干菜
苕皮 鸭血 豆腐 火锅涮菜
大枣 银耳 莲子 枸杞 山楂
木耳 菌菇
海产 腊肉 腌味
🍚有机/特级米面粮油干料
全部美妆个护
面部护肤
卸妆
洁面 去角质
化妆水
精华 护肤套装
乳液 面霜
眼唇保养
特殊护理 去黑头 祛痘
保养工具
男士保养
洁面巾 化妆棉
防晒
推荐品牌✨
SHISEIDO资生堂
谷雨
毛吉吉
全部厨电家电
厨房电器
电饭煲 主食机器
豆浆机 破壁机
养生壶 煮茶器
电热水壶 即热饮水机
咖啡机
电蒸锅 电炖锅
火锅 涮烤煮多功能锅
空气炸锅 烤箱 烤串机
料理小电
厨房大电
推荐品牌✨
北鼎
小熊
追觅
历史浏览

京东图书
Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法(英文版)
商品描述
展开全部描述
内容简介
《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
致谢
关于作者
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 伴我顺利写完这本书,你们俩真棒!
关于本书
本书假定读者已经熟悉了 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 |

下载亚米应用
意见反馈
为你推荐
-71%

ITO 艾特柔
4种选择
日本ITO艾特柔 一次性洁面棉柔巾 日本美容院专用柔肤洗脸巾 250g*3 加厚加大升级 干湿两用 【全美超低价】新包装随机发货
5.0
(460)
$3.16/件 · 3件
Hot
-28%

饱饱量贩
5种选择
饱饱量贩TOASTIQUE 芋泥肉松夹心岩烤厚切吐司 6枚入 480g 【微波加热10s巨巨好吃】【营养早餐面包】【线上独家】【含红豆】
4.5
(51)
Low Price

4.9
(167)
Low Price

然利
27种选择
然利 手工虎皮蛋糕 乳酸菌夹心 110g【双层双滋味】【早餐糕点】【产品包装袋保质期读法:月/日/年】
4.8
(869)
-51%

然利
27种选择
然利 手工虎皮蛋糕 乳酸菌夹心 110g*5包【双层双滋味】【超值早餐5包入】【产品包装袋保质期读法:月/日/年】
4.8
(39)
-28%

饱饱量贩
5种选择
饱饱量贩TOASTIQUE 海苔肉松夹心岩烤薄切吐司 8枚入 440g 【微波加热10s巨巨好吃】【营养早餐面包】【线上独家】
4.9
(40)
Low Price

SHISEIDO资生堂
5种选择
日本SHISEIDO资生堂 FINO芬浓 高效浸透修复发膜 免蒸美容液红宝瓶发膜 230g @COSME大赏第一位 烫染救星 新旧版本随机发货
4.8
(961)
Low Price

敷尔佳
27种选择
VOOLGA敷尔佳 白膜医用透明质酸钠修复贴医用敷料 面部术后修复舒缓去红 5片装 医美面膜NO.1 (新旧包装随机发货)
4.9
(279)
Low Price

零食物语
10种选择
零食物语 迪拜巧克力 黑巧克力 经典开心果口味 37g【TikTok网红爆款 口感超神奇】【收到请冷藏】
4.7
(31)
Hot
Low Price

SHISEIDO资生堂
19种选择
日本SHISEIDO资生堂 ANESSA安耐晒安热沙 小金瓶金灿倍护防晒乳 防水防汗越热越耐晒 SPF50+·PA++++ 60ml
4.9
(82)
Low Price

BIODANCE
13种选择
韩国BIODANCE 粉色胶原蛋白水光焕亮凝胶面膜 熬夜睡眠面膜 34g*4片 需敷3小时可过夜 【OY&化解1位】不同版本随机发
4.6
(33)
订阅成功!
你的邮箱将很快会收到一封邮件
你的邮箱 :
评论
分享你的感受,帮助更多用户做出选择。
写评论