- 博客(50)
- 资源 (4)
- 收藏
- 关注
原创 使用枚举类型 <<Effective Objective-C>>
由于Objective-C 基于C 语言,所以C 语言有的功能它都有。其中之一就是枚举类型:enum 系统框架中频繁用到此类型,然而开发者容易忽视它。在以一系列常量来表示错误状态码或可组合的选项时,极宜使用枚举为其命名。由于C++11 标准扩充了枚举的特性所以最新版系统框架使用了“强类型”(strong type)的枚举。没错,Objective-C 也能得益于 C++11 标准。 枚举只是一种
2015-04-02 20:03:27
1157
原创 在类的头文件中尽量少引入其他头文件 <<Effective Objective-C>>
与C 和C++ 一样,Objective-C 也使用“头文件”(header file) 与“实现文件”(implementation file)来区隔代码。用Objective-C 语言编写“类”(class)的标准方式为:以类名做文件名,分别创建两个文件,头文件后缀用.h,实现文件后缀用.m。创建好一个类之后,其代码看上去如下所示: // EOCPerson.h#import <Foun
2015-04-01 08:47:24
2816
原创 在对象内部尽量直接访问实例变量 --Effictive Objective-C 抄书
在对象之外访问实例变量时,应该总是通过属性来做.在那么在对象内部访问实例变量的时候,又该如何呢? 这是 OCer们一直激烈讨论的问题.有人认为,无论什么情况,都应该通过属性来访问实例变量;也有人说,”通过属性访问”和”直接访问”应该搭配着用. 除了几种特殊情况之外, 笔者强烈建议大家在读取实例变量的时候采用直接访问的形式,而在设置实例变量的时候通过属性来做.请看下面的类:@interface EO
2015-03-31 11:35:30
3418
原创 未亡羊先补牢-2015年03月18日
如果图片挂了,请访问:http://www.jianshu.com/p/d989cf2453dd 正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串. –Ken Thompson虽然有点抽秀,但是我觉得大家已经模模糊糊的明白了.你应该有的工具为了直观的看到你的对错,请使用网站在线正则测试 最笨的”匹配”我的上一个手机号码是 18615654686,当然,作为天朝子民,前面是有个+8
2015-03-18 19:56:21
1079
原创 csdn 博客,你不努力,有人帮你-2015年03月17日
今日概括开始使用简书编写了两篇关于正则表达式的博客复习 Core Data 的基本使用总结了一下 Xcode6新特性 简单聊聊简书,其实一开始学 MarkDown 语法的时候,已经用了,但是,一直觉得没有客户端,好没有安全感的.可是,可是 ,csdn 是在太让人恼火了.使用简书可以在简书组织好文章,直接用 Markdown 粘贴到 csdn. 因为简书写 MarkDown 的时候
2015-03-17 20:38:26
4400
原创 开始使用正则表达式
一些细节的完善在上篇文章中,我们简单使用了一个正则完成了一些东西,但是也发现了一些问题.那个在线工具并不怎么好用… 经常遇到输入之后,没有匹配. 这也是 web 程序经常遇到的尴尬.所以,我们使用本地应用来进行处理. 笔者的是 mac10.10 ,使用的工具叫做 RegExRx .大家可以选择一款合适的使用.( windows 下的正则程序更加多,功能也很强大) 开始正则之旅明确了正则的用途
2015-03-17 14:20:46
6254
1
原创 从一个手机号开始-正则表达式
如果图片挂了,请访问:http://www.jianshu.com/p/d989cf2453dd 正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串. –Ken Thompson虽然有点抽秀,但是我觉得大家已经模模糊糊的明白了.你应该有的工具为了直观的看到你的对错,请使用网站在线正则测试 最笨的”匹配”我的上一个手机号码是 18615654686,当然,作为天朝子民,前面是有个+8
2015-03-17 13:30:42
2318
原创 推送证书申请
图 DeviceToken 的获得流程这样会公司的服务器压力比较大新建项目 RemotePushNotification然后我们获取 DeviceToken (只能真机)一般是程序开始的那一刻去获取,所以,我们在(BOOL)application:(UIApplication )applicationdidFinishLaunchingWithOptions:(NSDiction
2015-03-17 11:01:12
932
转载 Xcode的调试技巧
程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。“If debugging is the process of removing bugs, then programming must be the process of putting them in.”——Edsger
2015-03-17 08:27:01
3547
原创 iOS 开发中正则表达式实践(一)
需求抽象:现在有一段字符串 {"state":200,"error":"登录成功!","json":{"auid":"402888f54c12441e014c1246bdf90003"}} 现在需要提取auid后面的内容串,也就是402888f54c12441e014c1246bdf90003 分析:在学习正则表达式之前,我使用的方式是: 用 Json 转字典,然后获取到 key.
2015-03-16 16:33:12
12483
2
原创 sublime 配置 vim模式 并修改 Esc快捷键
最近发现了 sublime 居然能开启 vim 的功能,加上这么炫(逼)酷(格)的外观,果断使用之.我使用 vim 的时候习惯用 zz代替 Esc ,综上所述,需要完善两个点: 1. 打开 vim 功能 2. 配置快捷键### 打开 vim 功能 其实,只要直接按 Esc 即可… 但是只能使用简单的模式,不能用 底行(命令行)模式 还有的版本不支持直接 Esc ,所以还是
2015-03-15 17:57:27
8006
原创 吐槽 优快云博客
值得肯定的 MarkDown写 15年第一篇博客的时候,惊喜的发现 优快云 有了 MarkDown 编辑器.而且效果是蛮不错的,可以把本地的 MarkDown 直接粘贴过去了.禁用 Wiznote( 未知笔记)的 API 相信有随手记笔记的朋友,都知道这个云笔记.可以直接将笔记发布到博客.但是试图将笔记发表到 csdn 时,发现提示, 优快云 已经将对应 API 禁用! 从博客园到新浪博客,网
2015-03-12 12:38:54
9430
6
原创 通过 Masonry使用纯代码方式编写 Auto Layout--配置 Masonry
Auto Layout 很 awesome 对不对,但是apple 默认的用代码写 Auto Layout 的方式实在是太鸡肋了…噩梦一样! 但是作为一个手(也)码(爱)爱(装)好(X)者,用 StoryBoard 显然不是咱的菜! 对了,忘了说一句, SizeClass 很酷,并且是用 IB 来弄的,但是先不用担心,我们至少要适配 iOS7,也就是说, Size Class 到很流行还有一段时
2015-03-12 11:26:42
11699
原创 致想了解我的人-------无巨细的说说我会些什么
我都会些什么 ?现在最拿得出手的应该是 iOS 开发和基于cocos2d-x的跨平台手机游戏开发,当然您要非让我替服务器端的人顶个项目,我也是能够胜任的.iOS 开发技能熟悉 UIKit 框架,可以熟练的使用并且自定义控件,同时具备规范的设计(MVVM),满足开发和团队协作的需要可以熟练使用 CoreAnimation,Pop 等进行动画效果的实现,对动画原理有深刻的理解.可熟练使用 Quar
2015-03-11 23:22:55
1119
转载 Swift 运算符重载
原文地址:Operator Overloading in Swift Tutorial(raywenderlich) 作者:Corinne Krych 译者:孟祥月(博客):在早前的iOS 8盛宴系列的教程里,你已经了解到,Swift提供了许多强大的、现代的编程特性,比如泛型、函数式编程、一等类型(first class)的枚举、结构体等特性。但是现在还有另外一个Swift的特性,你应该知道并且会
2015-03-11 19:08:34
3599
原创 真机报错:dyld: Symbol not found:OBJC_CLASS_$_CIKernel
环境: mac10.10 xcode6.1错误描述: 在模拟器上正常运行,在真机上报错.dyld: Symbol not found:OBJC_CLASS_$_CIKernel错误详情: dyld: Symbol not found:OBJC_CLASS_$_CIKernel Referenced from : /var/mobile/Application….感觉就是 coreImage 这个
2015-03-09 19:25:18
9165
翻译 开始使用 swift 的 c语言 库
适合iOS开发者的15大网站推荐 iOS 开发者若想使技艺达到炉火纯青的地步,就要不断借鉴他人的有益经验,紧跟新兴科技和工具的步伐。除了 Apple 的开发者中心,其他网站上的文章和资源也具备参考价值,若能学得一二,必能锦上添花。不过,时间宝贵,开发者应具备取精华、去糟粕的眼力,这样才能事半功倍。本文推荐的博客和网站都是经过作者 James Tan
2015-03-07 12:15:20
7117
转载 适合iOS开发者的15大网站推荐
适合iOS开发者的15大网站推荐 iOS 开发者若想使技艺达到炉火纯青的地步,就要不断借鉴他人的有益经验,紧跟新兴科技和工具的步伐。除了 Apple 的开发者中心,其他网站上的文章和资源也具备参考价值,若能学得一二,必能锦上添花。不过,时间宝贵,开发者应具备取精华、去糟粕的眼力,这样才能事半功倍。本文推荐的博客和网站都是经过作者 James Tan
2015-03-07 11:07:21
7519
原创 I AM GONNA SAY
I have no clue to ably deal with love relationship .I am ,in many areas ,an out-going man ,but,also, easily reach the end of my wit when facing some specific situation .Leavingreality alone ,I would re
2015-03-07 08:03:38
3799
2
原创 关于iOS推送中点击通知的几点备忘
用户通过点击通知(包括本地和远程通知)打开应用时,在不同的情况下,会调用不同的方法.其实也是比较简单,在此记录一下,备忘#### 注意:如果程序在前台运行,将无法看到任何通知(本地或者远程) #### 本地通知 在 AppDelegate中 A. 如果程序尚未退出 (在后台)则调用 -(void)application:(UIApplication *)application didRe
2015-03-06 13:11:11
4359
原创 使用 Homebrew 管理你的mac开发包
很多人可能不了解 Homebrew, 其实它相当于开发软件界的 Appstore.比如,如果我要安装 python 的最新版本,那么传统的做法是 1. 到官方网站下载 python 的最新版本 2. 极其麻烦和小心翼翼的删除自带的 python 版本 3. 安装新的版本 4. 设置环境变量 而借助 Homebrew, 需要做的仅仅是: brew uninstall py
2015-02-28 13:50:21
9105
原创 git的 .gitignore 文件编写
主要由三种方式:【方式一】 在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示。 .gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同
2015-02-25 12:45:22
4597
原创 实现图片模糊(背景虚化)
图片模糊效果背景虚化(模糊)的效果越来越常用,那么如何使用代码来实现呢?在上篇文章中,我们讨论了关于 CoreImage 的知识, 理所当然的,首先尝试使用 CoreImage 解决问题,从上次打印出来的所有支持的滤镜中,在 127种滤镜中,存在 Blur 关键字的,只有CIGaussianBlur(高斯模糊),,而这种模糊的致命缺陷是,会出现白边.(懂美术的同学可能知道,这是位图和矢
2015-02-25 11:31:02
19082
原创 CoreImage 及滤镜效果
做过 iOS 开发的人,对core这个字眼一定不陌生,它总是代表着或者底层的,或者牛叉的,或者底层牛叉的Apple 自己的框架. CoreImage 让你可以简单的应用滤镜来处理图片,比如修改饱和度,亮度,对比度等东西(对了解 PS 的人来说,非常的亲切吧).
2015-02-25 11:15:19
10714
原创 iOS平台(移动平台)架构问题
尴尬的遭遇自己从内心觉得对项目分层是一种非常好的思想,于是便在网络中寻找有关iOS项目分层的资料. 无奈,网络中关于iOS的项目架构资料非常少(最后证明我大方向走错了了,架构应该是独立于平台的,所以"iOS"的架构资料是找不到的),就算有几篇博文,也是自己琢磨出来的野路子.(个人思想比较保守,不够权威的东西不能让我信服,而事实上,每个人都能看到那些博文是有过度设计的问题的)后来尝试在 co
2015-02-01 08:45:23
4406
原创 MarkDown语法
使用markdown组织你的技术笔记每个热衷于技术的人对写作都会有需求,但是在传统的写作会存在这样的问题:- 纯文本不够强大word又太过重量级,而且通用性差你总要停下敲击键盘去选中并设置格式基于以上的问题MarkDown似乎成了不二之选基于纯文本的,兼容性极强,你可以用任何文本编辑器打开并编辑让你专注于文字而不是排版格式转换方便,你可以
2015-01-31 21:43:54
4141
原创 架构的概念和最基本的三层架构-iOS企业应用架构设计
架构部分架构Martin Fowler 给"架构"这个词做了两点归纳:1.最高层次的系统分解 2.系统中不易改变的决定它包括了一些开发者希望能够及早做出的决定,因为这些决定看起来是难以改变的. 如果发现一些决定并不像你想象的那么难以改变,那么他就不再与架构相关.这么下去,架构自然就浓缩成了一些重要的东西.在架构模式中,层次是最为重要的,Martin Fowler的>全书都在阐释怎么
2015-01-31 19:57:10
6682
原创 Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题
问题描述:Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边。在iOS8下没问题。如图,分别是两种情况下的图片:问题分析: 自己并没有使用xib 或者 storyboard ,所以不存在 autolayout导致的问题 启动使用的是默认的 launchScreen文件 ,问题可能出在这里 .于是尝
2015-01-21 11:27:26
5925
原创 在OC项目中添加Swift文件并实现混合编程
对于已经工作的开发者,并不适合也没有条件从一个全新的swift项目开始,进行开发. 虽然网上关于swift和oc混合编程的教程比较多,但是大多是基于 swift项目的,所以对咱们 OCer的参考价值有一定折扣. 现在swift虽然仍然存在很多缺陷,但是鉴于苹果的强势,是时候在项目中把简单的功能交给 swift 了,给自己,给项目,给swift一个缓冲区,都是极好的. 说了这么多,开
2015-01-16 11:00:12
5185
原创 利用runtime更改系统方法的实现
使用场景: 在项目中,我们可能遇到需要修改方法实现的需求,比如需要更换某些原始的实现代码,但是如果项目规模比较大 , 那么手动查找替换的方式就不可取了. 更好的方式是利用 runtime来替换. 最简单的,比如图片,假设我们之前用的方法都是 [UIImage imageNamed:@" "] 但是现在我们的图片改了,图片后缀批量增加了一个
2015-01-15 09:36:37
12780
原创 Xcode6中更换项目ld: file not found: /Users/kstsurake/Library/Developer/Xcode/DerivedData
今天换了机器,结果从 svn检出项目的时候报错 :ld: file not found: /Users/kstsurake/Library/Developer/Xcode/DerivedData/combine_api-cxndvfapaedchyejiwjegzwqcqiu/Build/Products/Debug-iphonesimulator/combine_api.app/co
2015-01-14 10:55:00
7477
原创 Xcode6添加空项目模板
众所周知, Xcode6中没有了空项目的模板, 也有人在新建文件的时候,找不到category 之类的东西 空项目是真的没有了, 但是 category 是有的,只是藏得比较深: 1.没有空项目 2.其实还有 category 等言归正传 ,我们看看怎么给 Xcode6 添加空项目的模板.首先,下载以下附件http://download.c
2015-01-13 09:18:59
3887
原创 Xcode6中修改项目名称
虽说项目名称一旦确立一般不会动, 但是难保有一天就会出现这个需求,恰好今天遇到这个问题,特整理出来.环境 mac 10.10 Xcode6.2 beta1.想好名称(废话,但是如果是中文的话...) 如果是新手,特别注意,中文名称会被识别成 - 比如, 运护士会被识别成 --- ,这个有什么危害呢? 就是如果两个应用是字数相同的中文时候,会发
2015-01-12 15:57:26
8514
原创 iOS 开发中利用 Quartz 2D 获得圆角图片
背景: 现在社交软件中,圆角的图片可以说是泛滥了,原来方方正正的 QQ 头像,都被世俗磨平了... 那么怎么将一张图片加工成圆角呢? 你可能会说:"找美工啊!" 对!偷懒必备口诀之 "找美工!" 但是,如果用户自己要上传自定义头像呢? 还是一要程序处理嘛! 下面我们利用强大的Quartz 2D 来自己加工图片
2015-01-10 12:43:02
8008
原创 Xcode6中修改项目的启动图片
问题描述: 因项目需要,需要修改项目的启动图片,一开始,直接打开的 Image.xcassets 直接拖进去,结果报错,没有任何内容 解决尝试: 1. 使用 Default.png 和 Default@2x.png 结果这种在 Xcode5时代常用的方法,在 Xcode6中不好用 2. 新建一个 Images.xcassets, 并且修改
2015-01-10 12:20:14
11971
原创 一小时用起 git :git开发实践第一篇
现在公司的 iOS 部分是自己负责,所以选择合适的工具就自己的责任了.经过月余的实践, 感觉 git 真的是一款让人惊喜的版本控制工具! 现在自己想总结一下最快的工作入门,来帮助新手在数小时内将 git 完全应用到自己的开发工作中. 环境: mac10.10 Xcode6.2 beta2(命令行工具) 我想大家使用 git 的目的一定不是局限在本地的版本控制
2015-01-10 10:45:42
11413
原创 利用runtime实现更加灵活的KVC
字典转模型在iOS开发中属于非常常见的操作. 比较简单的方式是 KVC ,但是这样会有一个局限 ,就是 模型中的属性必须和字典中的完全匹配,否则,KVC将会报错. 手动编写代码虽然比较灵活,但是如果字典中数据量庞大,也会是一个糟糕的体验. 针对以上问题,利用runtime实现一个更加灵活的字典转模型. 1.为 NSObject建立一个分类 NSO
2014-12-11 19:23:09
4058
原创 俯瞰 cocos2d-x 02 创建精灵
写在开篇我所期望的愿景是: 使用3ds max 创建一个自己的世界 , 使用 unity3D给我的世界加上逻辑和交互 , 然后匹配到多个终端 ,让世界沉浸在我的世界中...
2014-12-04 11:13:44
5318
原创 俯瞰 cocos2d-x 01 场景的切换
写在开篇 从13年最早接触到 cocos2d-x ,当时的感觉是很乱很乱的,而且升级快,找到的教程里的代码总是就报错了... 幸亏一直坚持了下来. 到了现在,虽然不能说是精通 cocos2d-x ,但是可以说能用 cocos2d-x 来表达自己了. 还学会了像 spine 这样的辅助工具.总之,一路走来,收获是在是太大了. 自己很明白作为初学者的无奈,所以想从这
2014-12-03 19:03:04
2739
原创 vim使用 tip3
折叠命令 zf 创建折叠(使用数字表示创建有当前行到下多少行的折叠,比如3j就创建包括4行的折叠) zo 打开折叠(l也可以打开折叠) zc 关闭当前折叠 zm 关闭所有折叠 zr 打开所有折叠 zE 删除所有折叠 zd 删除当前折叠 za 若当前打开则关闭,若当前关闭则打开
2014-10-14 08:12:10
4352
Advanced Apple Debugging&Reverse; Engineering v1.0
2018-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人