iOS企业级应用开发技术 作者:和凌志

iOS企业级应用开发技术 作者:和凌志

iOS企业级应用开发技术 出版社:电子工业出版社

iOS企业级应用开发技术 内容简介

iOS企业级应用开发技术 目录

iOS企业级应用开发技术 精彩文摘

本书聚焦在APP“产品”的设计、开发和运营层面,特别强调架构和设计模式的重要性,有意识地将设计模式应用到代码的编写中,重点介绍iOS企业级应用开发的设计思维方式,并与全栈开发技术结合起来。 全书分为iOS基础篇、Web与Native混合开发模式篇和全栈开发技术篇。iOS基础篇主要介绍iOS基础知识、多种设计模式下的视图控制器之间的传值、App与服务器接口的定义、CollectionView的应用;Web与Native混合开发模式篇主要介绍Block的应用、iOS网络请求、JavaScript基础、Web与Native的交互;全栈开发技术篇主要介绍Node.js、Express、AngularJS、MongoDB、MEAN全栈技术的实现。前言我的iOS授课经历忍不住也来说说iOS的设计模式iOS基础篇第1章 iOS基础知识1.1 Objective-C语法简介1.2 Objective-C的对象类型与基本数据类型1.3 不可变数组与可变数组1.4 不可变字典与可变字典iOS企业级应用开发技术1.5 iOS应用程序概述1.6 iOS定制化控件1.7 视图的层级管理1.8 iOS编程规范1.9 小结第2章 视图控制器之间的传值2.1 通过Delegate实现ViewController之间的传值2.2 通过单例实现ViewController之间的传值2.3 通过KVO实现ViewController之间的传值2.4 通过NSNotification实现ViewController之间的传值2.5 小结第3章 App与服务器接口的定义3.1 关于JSON的认识3.2 App与服务器接口的定义3.3 JSON与Model的转换3.4 小结第4章 CollectionView的应用4.1 CollectionView与TableView孰优孰劣4.2 什么是UICollectionView4.3 实现一个简单的UICollectionView4.4 UICollectionViewCell视图层级4.5 UICollectionViewDataSource4.6 关于Cell的重用4.7 UICollectionViewDelegate4.8 UICollectionViewLayout4.9 实现一个简单的瀑布流4.10 自定义瀑布流的应用场景4.11 自定义Flow Layout进行瀑布流布局4.12 CollectionView与TableView的区别4.13 图片轮播的实现思路4.14 CollectionView注意事项4.15 小结Web与Native混合开发模式第5章 Block的应用5.1 Block缘起5.2 Block概述5.3 Block的声明、实现与调用5.4 Block的应用场景5.5 通过Block实现视图控制器之间的逆向传值5.6 小结第6章 iOS网络请求6.1 iOS网络请求概述6.2 AFNetworking的应用6.3 AFNetworking的序列化问题6.4 异步请求数据并刷新UI页面6.5 远程文件下载6.6 小结第7章 JavaScript基础7.1 JavaScript语法7.2 变量的声明与赋值7.3 如何判断两个字符串是否相等7.4 创建JavaScript对象的三种方法7.5 函数声明与函数表达式7.6 可立即调用的函数表达式7.7 循环的实现7.8 防止JavaScript自动插入分号7.9 严格模式7.10 如何运行与调试JavaScript代码7.11 JavaScript的面向对象设计思想7.12 JavaScript的异步编程模式7.13 如何在HTML中嵌入JavaScript7.14 JavaScript与JSON7.15 小结第8章 Web与Native的交互8.1 混合开发模式概述8.2 网页调用iOS的原生方法8.3 iOS调用JavaScript8.4 JavaScript调用Objective-C代码8.5 小结全栈开发技术第9章 Node.js入门指南9.1 概述9.2 Node.js生态9.3 Node开发环境的搭建9.4 Node.js验证9.5 第一个Node.js工程9.6 小结第10章 Express——后端框架10.1 概述10.2 Express工程的创建10.3 Express中的GET与POST请求10.4 小结第11章 AngularJS——Google前端框架11.1 AngularJS概述11.2 AngularJS指令概述11.3 AngularJS构建单页面应用11.4 AngularJS的加载11.5 AngularJS控制器11.6 $scope用法11.7 小结第12章 MongoDB——文档数据库12.1 MongoDB概述12.2 MongoDB的安装与应用12.3 用mongoose操作MongoDB12.4 小结第13章 MEAN全栈技术的实现13.1 应用场景13.2 安装Express13.3 创建Express工程13.4 构建登录页面13.5 构建注册页面13.6 小结参考文献作为一名“码农”,掌握几种编程语言易如探囊取物。只要接触过一门编程语言,再学习其他的编程语言,就会容易很多。因为从本质上讲,编程语言大同小异,Objective-C也不例外。所有的编程语言,尽管表达方式不同,但大多都是相通的。比如,基本的数据类型、表达式、函数的声明和调用等。这里,我们不拿Objective-C与其他编程语言对比,越是对比,越让人迷惑。我们先从字面上理解Objective-C。顾名思义,Objective-C就是一种特殊的C语言,也有人把Objective-C简称为OC。Objective-C语言看上去怪怪的,是因为它有几个不常见的符号,比如,中括号[]、冒号:、加号+等。在iOS编程中,常看到类似下面的语句。可以看出,这里不仅仅是一对中括号,而是多对中括号,一层套一层。在iOS工程文件中,用得最多的文件就是.h文件和.m文件。.h文件是头文件,源自英文Header;与此对应的是.m文件,.m文件是实现文件。.m文件是Objective-C编程语言所特有的文件类型。至于为什么以.m来命名,苹果官方文档没有给出说明。既然.m文件是实现文件,据此推测,m应该是implementation(实现)的缩写。.h和.m文件如同一对孪生兄弟,总是成对出现的。当创建一个.h文件时,同时也会创建一个同名的.m文件。也就是说,.h和.m拥有相同的文件名,但其文件类型是不同的,一个是.h类型,一个是.m类型。这里给出一个代码示例,初次感受下.h和.m文件的代码结构是怎样的。在Xcode中,创建一个新文件:在Xcode菜单栏,逐一选中“File→New→File…”,选择“文件类型(NSObject)”。这里,以创建Card文件为例,Xcode会自动生成两个文件:Card.h和Card.m。Card.h文件如下:在面向对象的编程语言中,一个最基本的概念就是类(Class)。事实上,创建.h和.m的过程,就是创建一个类的过程,这里创建了一个Card类。类是具有继承关系的,NSObject也是一个类。Card与NSObject的关系是:Card继承了NSObject,换言之,NSObject是Card的父类。父类又称为SuperClass。关于NSObject,有一点要特别说明:iOS所有的类都继承了NSObject。通俗地讲,在iOS中,NSObject是所有类的“祖宗”。从语法上讲,@interface与@end是一对。@interface表明类的开始,而@end表明类的结束。通过Xcode创建的类,会自动生成类的结构。如果通过手动的方式自行创建的话,注意不要忘记加上@end。接着,我们再来解读Card.m文件。.m文件以@implementation开始,以@end结尾。乍一看,.m文件与.h文件没什么区别,其实,二者之间有一个很大的区别:.m文件中的Card没有继承NSObject。在.m文件中,必须通过#import将对应的.h文件包含进来。之后,.m文件就可以引用.h文件中的@property(属性)和method(方法)了。.m文件如下。接下来,开始为.h文件添加一个属性(@property),代码如下。如果是初次接触iOS编程,总会感到有些奇怪。声明一个变量(严格来说,是声明一个属性或实例变量),为什么还要在变量前面添加这么多的东西呢?@property(nonatomic,strong)是干什么用的呢?这就引入了Objective-C的另一个基本概念:@property的声明与使用。1.1.2 如何声明一个实例变量关于Objective-C中的实例变量(Instance Variable),初次接触这个概念,难免会产生一些疑惑:实例变量有什么特别的呢?不就是一个变量吗?其实不然,如果仅仅是个变量的话,就不会有@property了。有了@property,其功能也就强大了很多。

类似文章

发表评论

您的电子邮箱地址不会被公开。