- 博客(37)
- 收藏
- 关注
原创 面试
https://www.cnblogs.com/bossren/p/6401067.htmlhttps://www.jianshu.com/p/2e1b3f54b4f3https://www.jianshu.com/p/f9eb6b315c08http://www.cocoachina.com/ios/20171129/21362.html
2018-05-17 16:34:09
144
原创 最快让你上手ReactiveCocoa之进阶篇
前言由于时间的问题,暂且只更新这么多了,后续还会持续更新本文《最快让你上手ReactiveCocoa之进阶篇》,目前只是简短的介绍了些RAC核心的一些方法,后续还需要加上MVVM+ReactiveCocoa实战开发。如果喜欢我的文章,可以关注我,微博:吖了个峥,欢迎交流。也可以来小码哥,了解下我们的iOS培训课程。之后还会更新1.ReactiveCocoa常见操作方法介绍。
2016-07-22 13:40:39
1288
1
原创 ReactiveCocoa之基础篇
1.ReactiveCocoa简介ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2.ReactiveCocoa作用在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。比如按钮的点击使用action,ScrollV
2016-06-21 14:35:53
3216
原创 利用pod trunk发布程序
##### 注册* `pod trunk register 邮箱 '用户名' --description='电脑描述'`##### 查收邮件*如果是QQ邮箱,可能会被放到“垃圾箱”中,并不一定是“收件箱”*点击邮件中的链接:https://trunk.cocoapods.org/sessions/verify/xxxx
2016-06-21 10:51:51
417
原创 修改UITextField的placeholder颜色
```objc@property(nonatomic,copy) NSAttributedString *attributedPlaceholder;// 文字属性NSMutableDictionary *attrs = [NSMutableDictionary dictionary];attrs[NSForegroundColorAttri
2016-06-16 10:08:43
499
原创 iOS开发网络篇—Socket编程
一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。http协议对应于应用层tcp协议对应于传输层ip协议对应于网络层三者本质上没有可比性。
2016-06-14 11:03:04
960
原创 Masonry介绍与使用实践
以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变在iphone5-iphone5s时代 window的size变了(
2016-06-12 15:00:17
285
原创 GCD介绍(四):完结
Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个函数也可以用于dispatch source。一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会将当前正
2016-05-17 13:49:51
303
原创 GCD介绍(三):Dispatch Sources
何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach port send right state changes.Ma
2016-05-17 13:48:25
307
原创 GCD介绍(二):多核心的性能
概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)
2016-05-17 10:59:51
300
原创 GCD介绍(一):基本概念和Dispatch Queue
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC
2016-05-17 10:26:31
312
原创 GCD使用攻略
什么是GCDGrand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术,它看起来象就其它语言的闭包(Closure)一样,但苹
2016-05-17 09:55:59
383
原创 使用Dispatch Groups来管理多个Web Services请求
假设你的应用在启动时必须向服务端进行一连串的请求.这些请求可能是获取配置信息.举个例子,当你的应用启动时可能会向服务端请求一些配置信息.这个配置信息可能需要多个请求组合而成.你想通过调用一个方法去启动这些请求,然后全部请求完成后,在一个completion block里面完成你的业务逻辑.但是这些请求相互间没有什么联系,我们应该如何做呢?在你看到你的代码像下面的这个样子时,可能你需要重构你
2016-05-13 17:35:00
466
原创 iOS多线程编程知多少
在iOS的世界里有两种实现多线程的方式:多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。在系统级别内,程序并排执行,系统分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。然而在每个应程序的内部,存在一个或多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。第一种:GCD官网链接http://develo
2016-05-13 10:31:02
337
原创 IOS热更新-JSPatch实现原理+Patch现场恢复
关于HotfixPatch在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IOS应用来说就显得尤其重要。现在业内基本上都在使用WaxPatch方案,由于Wax框架已经停止维护四五年了,所以waxPatch在使用过程中还是存在不少坑(比如参数转化过程中的问题,如果继承类没有
2016-05-03 14:33:05
2959
原创 AFNetworking读取和设置cookie的解决方案
今天在使用AFNetworking的时候需要使用cookie,查了一些资料后,了解了AFNetworking使用cookie的方法,在这里分享给大家。实际上AFNetworking中并没有专门针对cookie封装的代码,但是由于它底层使用的是NSURLRequest,所以可以通过NSHTTPCookieStorage来操作cookie,读取和保存cookie的代码如下:NSArray
2016-03-02 15:50:52
1159
原创 远程推送
这里主要详细介绍苹果的远程推送服务,在本文后会有本地通知的简单示例。一,IOS远程通知服务APNs苹果的APNs(苹果推送通知服务Apple Push Notification server)允许设备和苹果的推送通知服务器保持链接,支持开发者推送消息到给用户设备对应的应用程序。苹果的APNs基本原理是:首先由应用注册远程通知。注册成功之后APNs会返回一个唯一标示的设备令牌码dev
2016-01-29 14:52:50
9848
1
原创 Objective-C学习笔记(二)——OC基本语法概述
1.源代码文件扩展名对比 头文件 实现文件C语言 .h .cC++语言 .h .cppOC语言 .h .mOC&C++ .h .mm3.类的声明,注意和J
2016-01-18 15:56:26
355
原创 Objective-C学习笔记(一)——OC语言的特点
Objective_C语言的特点:(1)支持C语言语法,是一个高效的编程语言;(2)作为C语言面向对象的扩展,支持完整的面向对象编程特性;(3)简洁而优雅的编程风格使得编写程序与阅读代码都变得格外清晰;(4)兼容性好,可以在同一个项目中同时使用 OC与C++,也可以在项目中导入由C,C++等语言编写的库文件。
2016-01-18 15:37:03
548
原创 obj-c内存管理的规则
Objective-C 2.0增加了一些新的东西,包括属性和垃圾回收。那么,我们在学习Objective-C 2.0之前,最好应该先了解,从前是什么样的,为什么Objective-C 2.0要增加这些支持。这一切都跟Cocoa内存的管理规则有关系,我们知道,Objective-C中所有变量都定义为指针。指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址,如果使用不当,就会出错
2016-01-18 15:20:10
400
原创 mac上SVN使用技巧和感受
SVN在团队项目开发中起到非常关键的作用,关乎一个软件项目成败。在mac上自带了svn,我们可以非常方便的使用命令行的方式来进行版本控制。我现在来谈谈在mac下使用svn的方法和注意事项。(1)如何在mac配置SVN客户端和服务器。推荐一篇文章《http://blog.csdn.net/q199109106q/article/details/8655204》,按照上面的步骤,可以完成svn
2016-01-14 14:24:36
375
原创 Xcode中git的使用方法介绍与"Please tell me who you are"问题的解决方案
我在之前多篇博客中讲解了如何使用命令行操作git,可以大大提高我们的工作效率。具体可以参考《Git学习札记》《Git学习札记——进阶》等文章。其实对于同一个工具,我们有不同的使用方法,今天我们就来学习如何使用Xcode中自带的Git,使用起来也是更为方便。同时对于一个Xcode中常见的问题进行解决。 当我们在Xcode创建一个项目的时候,可以勾选Source Control:C
2016-01-14 14:15:37
586
原创 Git学习札记——进阶
(1)git blame 文件名该命令会显示出该文件名的创建者,以及最后的提交和时间戳。(2)git reflog该命令显示的是head指针移动的信息。他是在本地的,而不是你仓库的一部分。不会包含在push和merge中。如果我使用git log ,我得到的提交信息是我仓库的一部分。(3)git stash 把你当前在工作区中的修改暂
2016-01-14 14:07:37
361
原创 .gitignore使用方法和规范
在实际的协作开发中,git是很常用的版本控制工具。但是git是如此的强大,我们应该怎么学呢?《Git学习札记》是我刚写的一篇学习git的文章,是参考了廖雪峰老师的git教程 学习的。但是实际使用中并没有那么简单,首当其冲的问题是.gitignore文件。 在进行版本控制过程中,有些文件是不需要管理的。比如OSX下的.DS_Store的隐藏文件,我们必须要把它“忽略”掉,否则可能
2016-01-14 14:03:35
3329
原创 Git学习札记
首先理解几个基本概念:origin:默认远程版本库;master:默认开发分支;(1)git log查看提交日志。会显示出你的每一次提交。如图:(2)git log --pretty=oneline如果你觉得上面输出内容太多太杂,可以使用这个命令。信息会在一行显示。如图:(3
2016-01-14 13:26:44
295
原创 Github版本控制与git checkout命令的使用
Github的作用实在是太多了,版本控制、代码托管、协作开发、基友社交等等。我们今天就来介绍下如何使用Github release来进行版本控制。(1)我首先在Github创建一个repo,名字为iOS-UIView-Animation,地址为:https://github.com/chenyufeng1991/iOS-UIView-Animation 。(2)并且把本地的
2016-01-14 13:18:12
4611
原创 Github进行fork后如何与原仓库同步
我们在进行Github协同开发的时候,往往会去fork一个仓库到自己的Github中,过一段时间以后,原仓库可能会有各种提交以及修改,很可惜,Github本身并没有自动进行同步的机制,这个需要我们手动去执行,现在我来演示一下如何进行自己的仓库和原仓库进行Gith同步的操作。(1)我使用终端 命令行的方式在Mac中来操作。首先在终端中配置原仓库的位置。进入项目目录,执行如下命令:查看你的远程
2016-01-14 13:12:47
2749
原创 Mac下如何安装配置git
我们都知道,其实Mac本身已经自带了git。但是如果我们需要自己配置git环境,来进行各种自定义设置,那么怎么来下载安装配置呢?具体实现步骤如下:(1)登陆git的官网:http://www.git-scm.com/ 。点击如图位置下载即可:(2)下载完成后,如图所示,点击安装即可。 (3)然后进入终端,执行命令:
2016-01-14 11:19:12
2540
原创 在Github的README.md中显示一张图片
我们都知道,当我们在Github中新建一个repository时,一般都会同时创建一个README.md文件,该文件是一个markdown文件,一般用来在你的repository下面说明这个项目的简介。这样会有更多的人来参与了解你的项目。现在我们来实现一下如何在README.md中显示一张图片。(1)首先在你的本地项目目录下新建一个Screenshots文件夹,用于来存放需要显示的图片,我
2016-01-14 11:17:36
11324
原创 使用Git命令把本地项目上传到Github托管
(1)首先在Github上新建一个repository,我命名为NewsClient,其他的根据自己的需求填写即可:(2)创建完成后,可以看到是这样子的。。。3)注意到右下角的项目URL,复制一下,以后会用到:(4)然后我在本地有一个项目,名称为News,终端进入我的项目目录:(5)执行命令:git init (6)执行
2016-01-14 11:02:29
5382
2
原创 Mac下Git命令汇总
1. which -a git查看当前Mac下有哪几个版本的Git;2.git --version查看当前使用的git版本;3.git config --global user.name Jack配置git的用户名;4.git config --global user.email *****配置git的
2016-01-14 11:01:23
1810
原创 Git简介
1.Git是分布式的,SVN是集中式的版本控制系统;2.Git每个历史版本存储完整的文件,SVN存储文件差异;3.Git可离线完成大部分操作,SVN则相反;4.Git有着更优雅的分支和合并实现;5.Git有更强的撤销修改和修改版本历史的能力;6.Git速度更快,效率更高;Git的基本工作流程:(1)Git使用40个16进制字符的S
2016-01-14 11:00:00
349
原创 使用Git命令从Github远程仓库更新项目
如果说其他的开发人员往Github项目中修改了代码,我要在他们的饿基础上继续进行开发,那么应该怎样才能把Github的代码同步下来呢,注意此时并不是要重新git init.在本机创建一个新的仓库了。其实此时本机的代码仓库和远程服务器已经保持了一个连接,我们只要把代码pull下来就可以了。 这将会在我的上一篇博客《使用Git命令实现代码上传与同步》,的基础上继续进行演示。
2016-01-14 10:54:39
4511
原创 使用Git命令实现代码上传与同步
在本地进行了代码编写后,就要想办法把代码上传到Github远程仓库,或者其他开发人员已经上传了最新版本的代码,我们就要从Github上同步最新的代码。这个过程应该怎么做呢。 如果是以可视化的方式来实现,会有Git for Mac这样比较好用的软件,的确可以实现非常方便的实现同步。但是这样是不是有点太low了。程序员都是比较喜欢Jeek的,现在我们来实现使用命令行的方式实现项目上传。
2016-01-14 10:44:02
2986
原创 使用Git命令从Github下载代码仓库
(1)先在本地新建一个文件夹,把该文件夹作为一个本地仓库。然后使用终端命令进入该文件夹。比如我把Github Pages作为这个项目的文件夹。2)然后初始化版本仓库,命令为:git init. 然后会在这个文件夹下创建一个.git的隐藏文件.(3)然后就可以从Github远程克隆一个版本库,一般都是会在项目的右侧显示:复制这个url即可。
2016-01-14 10:31:23
4904
原创 安装iOS开发环境Xcode
iOS应用程序是在Xcode上进行开发的iOS开发的环境搭建是比较方便和简单的。下面来简单介绍如何安装Xcode。(1)登录App Store,在搜索框中输入Xcode,出现以下界面:(2)选择第一个Xcode,进行安装,可见安装Xcode时免费的:(3)点击安装,以下过程可能有点慢,稍等片刻,可在Launchpad中查看下载
2016-01-13 17:08:48
699
原创 Mac中的简单快捷键
熟悉桌面下方的Dock栏,可以简单理解为Windows中的任务栏。最重要的是Mac中的快捷键,简单几个如下:(1)command+c:复制(2)command+v:粘贴(3)command+m:最小化当前窗口(4)F1:快捷调暗屏幕(5)F2:快捷调亮屏幕(6)F4:快捷显示所有应用程序,可以理解为Windows的开始菜单(7)F5:调暗键盘
2016-01-13 16:54:00
417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人