自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jeikerxiao

简单的世界

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

转载 iOS应用架构谈-组件化方案

iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 本地持久化方案及动态部署 iOS应用架构谈 组件化方案简述前几天的一个晚上在infoQ的微信群里,来自蘑菇街的Limboy做了一个分享,讲了蘑菇街的组件化之路。我不认为这条组件化之路蘑菇街走对了。分享后我私聊了Limboy,Limboy似乎也明白了问题所在,我答应他我会

2016-04-27 18:32:40 657

转载 iOS应用架构谈-本地持久化方案及动态部署

iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 本地持久化方案及动态部署 iOS应用架构谈 组件化方案前言嗯,你们要的大招。跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区。每一个issue和PR以及评论我都会

2016-04-27 16:40:02 787

转载 iOS应用架构谈-网络层设计方案

iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 本地持久化方案及动态部署 iOS应用架构谈 组件化方案前言网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MK

2016-04-27 16:23:15 914

转载 iOS应用架构谈-view层的组织和调用方案

iOS应用架构谈 view层的组织和调用方案iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 本地持久化方案及动态部署 iOS应用架构谈 组件化方案前言当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构。一般也就是这两种时机会去做View层

2016-04-27 15:52:21 941

转载 iOS应用架构谈-开篇

iOS应用架构谈-开篇iOS应用架构谈-view层的组织和调用方案iOS应用架构谈-网络层设计方案iOS应用架构谈-本地持久化方案及动态部署iOS应用架构谈-组件化方案缘由之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢?当时看到

2016-04-26 15:53:08 692

转载 App架构经验总结

App架构设计经验谈:接口的设计 App架构设计经验谈:技术选型 App架构设计经验谈:数据层的设计 App架构设计经验谈:业务层的设计 App架构设计经验谈:展示层的设计 App架构经验总结架构因人而异,不同的架构师大多会有不同的看法;架构也因项目而异,不同的项目需求不同,相应的架构也会不同。然而,有些东西还是通用的,是所有架构师都需要考虑的,也是所有项目都会有的需求,比如API如何设计

2016-04-21 11:12:57 659

转载 App架构设计经验谈:展示层的设计

App架构设计经验谈:接口的设计 App架构设计经验谈:技术选型 App架构设计经验谈:数据层的设计 App架构设计经验谈:业务层的设计 App架构设计经验谈:展示层的设计三层架构中,数据层和业务层都已经做过了简单的分享,最后,就剩下展示层了。本篇就给各位分享下我在展示层设计方面的一些经验心得。展示层是三层架构中最复杂的一层了,需要考虑的包括但不限于界面布局、屏幕适配、文字大小、颜色、图片资

2016-04-21 11:00:40 809

转载 App架构设计经验谈:业务层的设计

App架构设计经验谈:接口的设计 App架构设计经验谈:技术选型 App架构设计经验谈:数据层的设计 App架构设计经验谈:业务层的设计 App架构设计经验谈:展示层的设计业务层其实并不复杂,但是大部分开发人员对其职责并没有理解清楚,从而使其沦落为一个数据中转站。我之前分享过的Android项目重构之路系列中提到的核心层,其实就是这里所讲的业务层。但有不少读者反映,他们在实际项目中就只是做一

2016-04-21 10:55:54 711

转载 App架构设计经验谈:数据层的设计

App架构设计经验谈:接口的设计 App架构设计经验谈:技术选型 App架构设计经验谈:数据层的设计 App架构设计经验谈:业务层的设计 App架构设计经验谈:展示层的设计一个App,从根本上来说,就是对数据的处理,包括数据从哪里来、数据如何组织、数据怎么展示,从职责上划分就是:数据管理、数据加工、数据展示。相对应的也就有了三层架构:数据层、业务层、展示层。本文就先讲讲数据层的设计。数据层,

2016-04-21 10:53:25 716

转载 App架构设计经验谈:技术选型

App架构设计经验谈:接口的设计 App架构设计经验谈:技术选型 App架构设计经验谈:数据层的设计 App架构设计经验谈:业务层的设计 App架构设计经验谈:展示层的设计当你做架构设计时,必然会面临技术选型的抉择,不同的技术方案,架构也可能完全不同。有哪些技术选型需要做决策呢?比如,App是纯原生开发,还是Web App,抑或Hybrid App?iOS开发,语言上是选择Objective

2016-04-21 10:48:35 789

转载 App架构设计经验谈:接口的设计

App架构设计经验谈:接口的设计 App架构设计经验谈:技术选型 App架构设计经验谈:数据层的设计 App架构设计经验谈:业务层的设计 App架构设计经验谈:展示层的设计App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉。安全机制的设计现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与

2016-04-21 10:37:45 718

原创 iOS开发-Block

前言 block是一个从iOS4后开始引入的代码块语法,能够代替代理来实现反向传值。接下来我将从以下几个方面介绍block,帮助大家一点一点揭开block的神秘面纱。block基础block作为参数block和delegateblock的内存管理block基础block基础

2016-04-17 17:42:09 353

原创 iOS开发-归档

前言归档:将对转序列化成二级制数据,并保存在文件中。 解归档:将归档后的数据反序列化成明码(能够看懂)对象,供我们使用。说明:只有遵守了NSCoding或 NSSecureCoding协议,并且实现了协议里归档与解归档的方法的的类创建的对象才能够进行归档。 //归档时会自动调用encodeWithCoder:(NSCoder *)aCoder - (void)encodeWithCoder:

2016-04-17 16:44:12 504

原创 iOS开发-时间日期NSDate

前言如果没有做日历的需求。对日期经常用到的就是两个类NSDate(日期类)和NSDateFormatter(时间格式器)。NSDate的对象表示一个具体的时间点。使用NSDateFormatter对象将时间对象转化成字符串或者反转。关于日期类还有NSTimeZone,NSDateComponents,NSCalendar等。有需要的可以在深入研究。有关于这些好的资料欢迎分享。准备工作创建NSDate

2016-04-17 16:28:01 363

原创 iOS开发-FMDB

前言SQLite是一个轻量级的关系数据库。 iOS SDK 很早就支持了 SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。 但是,原生的 SQLite API 在使用上相当不友好,在使用时,非常不便。于是,开源社区中就出现了一系列将 SQLite API 进行封装的库,而 FMDB (https://github.com/ccg

2016-04-17 16:16:11 438

原创 iOS开发-操作SQLite

SQLite介绍SQLite,是一款轻型的数据库(按照数据结构来组织、存储和管理数据的仓库),是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

2016-04-17 15:54:02 663

原创 iOS地图开发-高德地图

所以这里简单介绍定位与地图。1 定位服务iOS设备提供三种不同定位途径, 蜂窝式移动电话基站定位; WiFi定位,通过查询一个WiFi路由器的地理位置信息,比较省电; GPS卫星定位,通过3~4颗卫星定位,最为准确,但是耗电量大。iOS系统如果能够接收GPS信息,那么设备优先级是: GPS > WiFi > 基站 开发人员不能选择哪种定位方式。

2016-04-17 14:17:59 2342

原创 iOS地图开发-地图的定位

定位定位是一个很常用的功能,打开地图软件后如果用户允许软件定位的话,软件便会自动锁定到手机所在位置,并且地图上的位置会随着手机的移动而移动。定位使用到的类是Core Location框架中的CLLocationManager类。CLLocationManager中常用的方法*******类方法**********//是否启用定位服务,通常如果用户没有启用定位服务可以提示用户打开定位服务

2016-04-17 13:39:14 755

原创 iOS地图开发-基本使用

地图的基本使用

2016-04-17 13:15:03 4696

原创 iOS蓝牙4.0(BLE)-LightBlue与cc2540开发板通信

下面我们来一次做 iPhone 和 PC 与开发板的通信实验。只有 iPhone4S(含)以后的设备才支持低功耗蓝牙 BLE,我们这里做的实验使用的是 iPhone4s. 从 APP Store 里下载安装了 LightBlue 程序。通常,智能机设备作为主机,CC254x 作为从机,当然,CC254x 也可以作为主机,去连接当前状态为从机的智能机设备。需要说明的是,由于 SmartRF 开发板中烧

2016-04-17 11:17:56 2690

原创 iOS蓝牙4.0(BLE)-后台接收数据

最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。本来以后会很麻烦, 但是学习了下..发现就2步而已。简单的不能再简单了。好了。下面是具体实现办法。1.在xxx-info.plist文件中, 新建一行 Required background modes , 加入下面两项。App shares data using Cor

2016-04-17 10:47:24 877

原创 iOS蓝牙4.0(BLE)-开发

1 前言当前有越来越多的可穿戴设备使用了蓝牙4.0 BLE(Bluetooth Low Energy)。 对于iOS开发而言,Apple之前专门推出CoreBluetooth的Framework来支持BLE的开发。 对于硬件开发有了解的朋友应该知道,在之前使用低版本的蓝牙的设备,要连接到iOS设备上,需要注册MFI,拥有MFI协议才能进行相应的开发。如果大家关注我之前对LEGO EV3的研究,就

2016-04-17 10:40:38 1009

原创 10个Objective-C基础面试题

1、#import和#include的区别,@class代表什么?@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import而#import比起#include的好处就是不会引起重复包含2、谈谈Object-C的内存管理方式及过程?1.当你使用new,alloc和copy方法创建一个对象时,该对象的保留计数器值为1.当你不再使用该对象时,你要负责向该对象发

2016-04-15 23:16:02 454

原创 深拷贝(mutableCopy)与浅拷贝(Copy)详解

简单的来说就是,在有指针的情况下, 浅拷贝只是增加了一个指针指向已经存在的内存; 深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存。 采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误。阅读本文之前首先了解copy与retain的区别 copy与retain的区别:copy是创建一个新对象,retain是创建一个指针

2016-04-15 23:11:14 825

原创 Debug、Release、Archive、Profile、Analyze概念解释

1.Debug和Release版本区别?众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式,Debug和Release,在Target的Setting中相信大家应该看到很多选项都分为Debug和Release,方便我们分别设置,满足调试和发布的不同需求。Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和Release调用两

2016-04-15 22:35:12 897

原创 使用Xcode Analyze进行代码静态检查

使用Xcode Analyze对代码进行代码静态检查。 运行Xcode Analyze方法: Product—->Analyze使用Xcode Analyze时,发现了以下3钟错误:1、可能存在的内存泄漏监测(Memory)运行Analyze后,查看一处Memory警告,可以看到如下代码:Potential leak of an object。 2、无效数据监测(Dead store)

2016-04-15 22:06:34 455

原创 利用Xcode Profile和Analyze进行性能优化

利用xcode profile和analyze进行性能优化内存泄漏问题的解决内存泄漏(Memory Leaks)就是拉完屎还占着茅坑。 是指应该释放的内存没有释放。 是当一个对象或变量在使用完成后没有释放掉,这个对象一直占有着这块内存,直到应用停止。 如果这种对象过多内存就会耗尽,其它的应用就无法运行。这个问题在C++、C和Objective-C的MRR中是比较普遍的问题。在Objective

2016-04-15 21:58:12 4501

原创 1.Http的Post与Get区别与联系,实践中如何选择它们?

Get是从服务器上获取数据 Post是向服务器发送数据在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;Post方式,数据放置在HTML HEADER内提交。对于Get方式,服务器端用Request.QueryString获取变量的值;对于Post方式,服务器端用Request.Form获取提交的数据。Get方式提交的数据最多只能有1024字节;而POST则没有此限制。安全

2016-04-15 21:28:43 444

原创 iOS面试题

整理的iOS技术面试题1.Difference between shallow copy and deep copy? 浅复制和深复制的区别?浅层复制:只复制指向对象的指针,而不复制引用对象本身。 深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只有一份,

2016-04-15 18:14:59 619

原创 程序员非技术面试题

程序员非技术面试题。。65

2016-04-15 16:08:50 1185

原创 MRC 和 ARC的区别

iOS 知识点1.MRC 和 ARCObjective-c中提供了两种内存管理机制 MRC(Manual Reference Counting):手动内存管理 ARC(Automatic Reference Counting):自动内存管理

2016-04-15 09:15:14 4685

[晓疯]高性能MySQL(第3版)

MySQL 领域的经典之作,拥有广泛的影响力。 内容涵盖MySQL 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL 和MySQL相关工具等方面的内容。 每一章都是相对独立的主题,读者可以有选择性地单独阅读。 不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。 不管是数据库新手还是专家,相信都能从本书有所收获。

2018-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除