自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fantexi的专栏

百叶窗折射的光影,像有着心事的一张表情,而你低头拆信,想知道关于我的秘密

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 美团京东电商项目源码

之前自己写了一个类似美团京东这样的基于iOS平台的电商APP,需要源码的朋友可以私聊。这是一个完整的电商项目,已经上线。包含了从浏览到下单、购物车、物流查看、天气、个人中心等完整链路。代码页非常规范,采用模块化 & 响应式编程,阅读起来比较容易。以下是项目的截图:联系方式:请务必备注添加目的,否则无视。...

2020-02-22 13:16:29 466

原创 2016校招编程题<四>

编写函数Sum(n) = 1+2+3+4+5+6+·····+n;int Sum(int n) { int sum = 0; if(n <= 0) return sum; for(int i = 1; i < = n; i++) { sum = sum + i; } if(sum < 0) { cout << “error” << end

2015-09-27 15:27:56 523

原创 2016校招编程题<三>

给定一个字符串.问是否可以通过添加一个字符将其变成回文串。输入:一行由小写字母构成的字符串,长度不超过10。输出:YES 或者NO输入样例:testest输出样例:YES#include #include using namespace std;bool fun(string str){ if (str.length() == 0)

2015-09-27 15:24:33 575 1

原创 2016校招编程题<二>

某人有一张圆桌,其中心为(x,y),现在要把桌子中心移到(x1,y1),每次移动一步,都得在圆桌边界固定一个点,然后将桌子围绕这个点旋转,问至少几步可以完成移动?输入:5个整数r,x,y,x1,y1其中1<=r<=100000,-100000<=x,y,x1,y1<=100000   输入样例:2 0 0 04输出样例:1#include #include

2015-09-27 15:22:40 506

原创 2016校招编程题<一>

一个长度为N的数组中包含正数,负数和0,请实现一个函数找出最长和为零的连续子数组。输入:所有数组元素在一行,空格隔开输出:所有数组元素在一行,空格隔开输入样例:1 2 3 4 -1 -2 -4 -3 1 2输出样例:1 2 3 4 -1 -2 -4 -3 #include #include #include using namespace std;

2015-09-27 15:19:10 502

原创 Cocoa消息处理流程

最近看了一些文章,觉得很不错,因为这方面的文章关于细节部分的讲解比较多,重点推荐罗朝晖的两篇文章(将在本文附件中给出文章链接),所以就不再重复刷,就大致讲解一下消息响应的处理流程;      一般我们都是通过@selector(methodName)来向对象发送消息,流程是如何的呢?先来看看method结构体:typedef struct objc_method *Method;typ

2015-09-20 22:34:57 625

原创 如何在已有的category中添加属性

在最近的一次面试中,遇到以上问题,在此做一下总结,也希望能为不明白的同学理清思路;      OC因为没有多继承的特性,因此一般会通过类目和代理的方式来弥补,category使得新的类可以在原有的类基础上进行适当的扩展,但仅限于添加方法,不能直接添加属性(这一点不同于extension,extension可以添加属性和方法);今天要说明的便是如何通过运行时来向category中添加属性。1

2015-09-20 20:23:36 1040

原创 NSAutoreleasePool实现原理

先来看一下NSAutoreleasePool的属性和方法@interfaceNSAutoreleasePool : NSObject {@private void *_token; //pool对应的POOL_SENTINEL的内存地址void *_reserved3;void *_reserved2;void *_reserved;} + (voi

2015-09-05 20:21:19 613

原创 NSNotification大白话

NSNotification提到通知,我们先来简单地走一下流程:       对象A在通知中心NotificationCenter注册了一个观察者Observer,注册时指定了它将要观察的通知是谁(NotificationName)、发送通知的对象(object参数,如果为nil,即所有对象都可以)。NotificationCenter会维护一张注册表,每一条记录可以查看注册者、通知名等信

2015-09-05 20:16:13 367

原创 静态库打包教程

1.新建库  在工程中New Project,选择Framework &Libray -> CocoaTouchStaticLibray,然后命名;2.使用lipo命令  编写类文件后,设置Scheme为release,然后分别在模拟器和真机下编译,编译成功后,会在Build/Products/Release-iphonesimulator目录和Build/Products/Relea

2015-08-27 20:59:38 616

原创 GCD大白话

在硬件多核的大环境下,软件和代码也需要做出相对应的适应,才能高效地利用硬件的多核心。苹果为开发者提供了三种多进程的解决方案:NSThread、NSOperation和GCD。NSThread渐渐地淡出了,相比后两者,它更轻量级,但需要开发者手动去管理线程的生命周期,另外线程同步时的加锁也会带来一定的资源消耗。大家可以不用过多掌握。NSOperation基于GCD实现,比GCD更灵活,功能更强大。但

2015-08-25 21:29:46 639

原创 以AFNetwoking为例讲解如何利用CocoaPod导入第三方类库

想必大家都多少了解了CocoaPod的作用,这里就不多说了。以AFNetwoking为例讲解如何利用CocoaPod导入第三方类库:步骤一:打开终端,进入当前项目的目录然后出入一下命令:sudo gem install cocoapods步骤二:终端会提示输入密码,按提示输入密码即可步骤三:在当前项目目录中创建一个Podfile文件,然后输入以下内容:           (1

2015-07-13 15:39:58 1127

原创 如何快速生成ipa文件并安装到iPhone

如果你的程序调试好了,怎么才能提供给别人的手机使用呢?正常情况下ipa文件是从Xcode的Organizer中输出的,但是我们没有证书,这样输出会产生错误。一.下面教你如何生成ipa文件:1.当前工程-->Products -->xxx.app 选中并右键 Show in Finder 2.进入Finder下 选中你工程的app文件 ,打开iTunes ,把当前工程

2015-06-29 13:04:02 5450

转载 深度解析iOS应用程序的生命周期

iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有App来运行,而你提供自己编写的代码来定制App的外观和行为。因此,了解iOS Infrastructure和它们如何工作对编写App是很有帮助的。Main函数入口所有基于C编写的App的入口都是main函数,但iOS应用程序有点不同。不

2015-06-26 15:30:40 351

原创 详解SESSION与COOKIE的区别

cookie的作用是为了弥补HTTP协议无状态的缺陷所作的努力.而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制往往需要借助于cookie机制来达到保存标识的目的。session提供了方便管理全局变量的方式,session是针对每一个用户的,变量的值存储在服务器上,用一个sess

2015-06-25 16:06:34 725

转载 cookie和session的区别

一、cookie机制和session机制的区别具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择二、会话cookie和持久cookie的区别

2015-06-25 16:05:08 432

转载 深度解析ios网络请求 get——post 区别

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;4、POST请求,将参数放到body里

2015-06-25 13:48:09 1623

转载 iOS导航模式综述

在我们开发一款app时,我们都会在设计阶段把应用的导航确定下来。导航指导用户使用我们的应用,如果没有导航,我们的应用就会显得很混乱。在iOS应用中,视图控制器处于重要地位。在UIKit中,视图控制器有很多种,有些负责显示视图,有些也同时兼顾导航。我们常见的视图控制器有以下几种:1、UIViewController。用于自定义视图控制器的导航。2、UINaviga

2015-06-24 16:18:36 808

转载 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件

1、AFNetworkingAFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest 2、Apple Reachability网络监测,可以参考下这篇文章iOS网络监测如何区分2、3、4G?3、DOUAudioStream

2015-06-18 15:57:49 504

转载 iOS第三方开源库的吐槽和备忘

做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份  Github上排名靠前的iOS库(大概600个repos) 除了逛一下每日/每月流行之外,也

2015-06-18 15:54:22 377

转载 对比iOS网络组件:AFNetworking VS ASIHTTPRequest

在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题。一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性。这些组件把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理等。那么,大家最常用的组件是什么?这些组件是如何提升开发效率和稳定性的?哪一款组件适合自己,是 AFNetworking(AFN)还是 ASIHTTPRequest(ASI)?

2015-06-18 15:52:13 437

转载 Objective-C编码规范:26个方面解决iOS开发问题

摘要:苹果公司已经有一份非常全面的Objective-C编码指南,Google、GitHub、New York Times等也均发布了其iOS团队使用规范。本文译者对raywenderlich.com团队的Objective-C编码风格规范进行了翻译。【按语】由于我正在准备模拟开发饿了么这个App,到时可能有些iOS开发者参与进来。这时如果每个人的Objective-C编码风格都不

2015-06-02 15:33:58 927

原创 四维空间解密

多维空间是几何中一个比较复杂,同时也是非常重要的概念。大部分人讨论到四维空间时,都会感到害怕,但也很好奇。在四维空间的理解上,大部分人产生了一个误区。首先,给大家引用一个数学前辈的比喻:       让我们先假设一个生活在二维空间的“扁片人“,他只能认识平面。假如要将它关起来,只需要在他四周画一个圈,在二维空间内,他无论如何也走不出这个圈。如果我们这些生活在三维空间的人对其进行“干涉”。那么只

2015-05-29 15:43:10 1044

转载 NSString属性什么时候用copy,什么时候用strong?

转载自南峰子我们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy。那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢?让我们先来看个例子。示例我们定义一个类,并为其声明两个字符串属性,如下所示:1234@inter

2015-05-20 17:59:54 319

转载 UITableViewCell自适应高度

在网上看见一个开源的扩展,UITableView+FDTemplateLayoutCell,让高度计算这个事情变的前所未有的简单。UITableView 询问 cell 高度有两种方式。1.针对所有 Cell 具有固定高度的情况1self.tableView.rowHeight = 88;对

2015-05-20 17:46:15 543

转载 iOS手势识别的详细使用:拖动、缩放、旋转、点击、手势依赖、自定义手势

1、UIGestureRecognizer介绍手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别。UITapGestureR

2015-05-11 10:28:02 479

原创 IOS中正则表达式的学习和总结

一. 简介正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串,通常被用于两种任务:1.验证通常需要在前后分别加上^和$,以匹配整个待验证字符串;2.搜索/替换。是否加上^和$根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。下面列出常用的正则表达式:说明正则表达式网址(URL)

2015-05-08 14:59:40 429

转载 CrawlScript语言————一门用javascript语法在JAVA环境下,快捷开发网络爬虫的脚本语言

CrawlScript语言,一门基于JAVA的跨平台的网络爬虫脚本语言,可在JAVA程序中被轻松调用。CrawlScript语言官方网站:        http://crawlscript.github.io/网络爬虫脚本语言 CrawlScript:       网络爬虫即自动获取网页信息的一种程序,有很多JAVA、C++的网络爬虫类库,但是在这些类库的基础上开发十分繁

2015-05-07 10:55:21 625

转载 搜索引擎-网络爬虫

通用搜索引擎的处理对象是互联网网页,目前网页数量以百亿计,搜索引擎的网络爬虫能够高效地将海量的网页数据传下载到本地,在本地 形成互联网网页的镜像备份。它是搜索引擎系统中很关键也很基础的构件。1. 网络爬虫本质就是浏览器http请求。     浏览器和网络爬虫是两种不同的网络客户端,都以相同的方式来获取网页:      1)首先, 客户端程序连接到域名系统

2015-05-07 10:53:38 482

转载 java---网络爬虫讲解

网络蜘蛛即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网

2015-05-07 10:52:27 579

转载 OC利用正则表达式获取网络资源(网络爬虫)

在开发项目的过程,很多情况下我们需要利用互联网上的一些数据,在这种情况下,我们可能要写一个爬虫来爬我们所需要的数据。一般情况下都是利用正则表达式来匹配Html,获取我们所需要的数据。一般情况下分以下三步:1、获取网页的html2、利用正则表达式,获取我们所需要的数据3、分析,使用获取到的数据,(例如,保存到数据库)接下来我们分析代码:1、获取网页的html  对于一些网

2015-05-07 10:47:26 384

转载 CocoaPods详解之----使用篇

作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/18737437转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢!一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了

2015-05-06 18:36:50 337

原创 AutoLayout下代码更新contraints的实现

在很多时候,我们会遇到这样的问题,比如有一个Label,里面的内容多少是不定的,而这个label后面还紧跟这其他的UI控件,比如一个UIImageView,如果我们给Label设置一个固定的Frame,然后使用antolayout来适配。那么会出现下面的情况:当Label的内容很少时,后面的UIImageView和它之间的间距就显得比较大,而当Label的内容比较多的时候,UIImageView和

2015-05-06 12:46:22 667

原创 百度地图IOS平台开发-iphone6 plus自动布局出现空隙的解决方案

今天在适配6plus的时候。突然发现不管如何设置Contrians,都无法避免出现下面的问题:也就是布局没有起到理想的效果,这也许也是autoLayout的一个缺陷,也就是说我们对BMKMapview设置的约束都没能更新到布局中去。解决方案:在加载MapView的控制器的viewDidLoad()方法中调用以下方法: [self.view layo

2015-04-29 10:53:39 1318

原创 关于两个异常Undefined symbols for architecture x86_64和Could not find a nib (load) named 'Main'的解决方案

1.异常一:Undefined symbols for architecture x86_64解决方案:(1)选中Targets—>BuildSettings—>Architectures。把build active architectures only 改为 NO。(2)把最下面的Valid Architectures中的arm64参数删掉就可以了或者:  双击Arc

2015-04-28 18:05:01 476

原创 导航控制器之间交互式传递数组的讨论

今天主要讨论数组的问题:假设有两个导航控制器,VC1和VC2,点击VC1的下一页按钮即进入VC2,同样在VC2 中点击导航栏的back按钮就可以返回到VC1的界面。相信大家都知道从前者传数据到后者的方法:直接设置属性传递也就是说直接给VC2添加两个属性用于接收数据,在VC1中的下一步方法中创建并实例化了Vc2后,就将要传递的数据赋值给这个实例化对象的属性示例:添加属性:#i

2015-04-24 15:56:18 669

原创 百度地图IOS平台开发-如何一对一对应大头钉和泡泡

在涉及到多个annotation的时候,如何一一对应大头钉和泡泡是一个很重要的问题,这里将继续围绕上一篇“百度地图IOS平台开发”来说明,下面将详细讨论:如何根据指定的泡泡找到其对应的大头钉?思想:在一开始地图加载annotation的时候,为每一个annotation设置一个index值(本质其实就是tag),然后在- (BMKAnnotationView *)mapView:(BM

2015-04-23 17:54:48 930 2

原创 如何在Xib中设置Button的属性(圆角以及背景颜色)

大家可能比较习惯用代码设置Button的属性,圆角、背景图片、背景颜色什么的都比较容易设置,可是如果在xib中创建的Button,又该如何来改变呢,今天我就遇到了这个问题。将解决的办法分享给大家:1.设置圆角直接在xib文件所对应的类的.m文件中重写- (void)drawRect:(CGRect)rect方法:- (void)drawRect:(CGRect)rect{[su

2015-04-22 17:46:14 3407

原创 百度地图IOS平台开发--自定义大头钉以及泡泡

最近在做百度地图的相关开发,查阅了很多资料,包括csdn上的很多自定义视图方面的博客,因为和自己的地图设计要求不太一样,因此单独写了这篇博客,希望能给类似需求的同学一点帮助 ;简单的说一下自定义视图的设计要求:点击大头针的弹出泡泡视图中点击“选择”按钮,会触发两个变化:1.按钮变成“取消选择”  2.对应的大头针图标上出现一个勾选的图片草图如下:下面开始正经地瞎说了

2015-04-22 12:09:19 2271 1

转载 升级10.10 Yosemite 后,cocoapods 出现错误解决方案

原文:  http://www.cnblogs.com/sparks/p/3989044.htmlRSMacBook-Pro:~ RS$ pod search jsonkit/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.r

2015-04-22 10:57:13 298

objective - c基础教程

入门级的教程,详细讲解了函数的申明定义之类的

2014-11-14

空空如也

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

TA关注的人

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