自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

非典型程序员的专栏

编程我们是认真的

  • 博客(27)
  • 资源 (6)
  • 收藏
  • 关注

原创 iOS--打赌你没有真的理解isEqual,hash!

为了是文章的结构比较清晰,先理出文章的整体目录如下:为什么会有isEqual和hash方法isEqual和hash在NSString, NSArray, NSSet, NSDictionary中的使用如何重写isEqual和hash方法为什么会有isEqual和hash方法isEqual顾名思义是用来判断两个对象是否相等的。那"= =" 和isEqual的区别在哪里呢?==其实是值的...

2018-12-02 21:35:42 776 1

原创 [UIKeyboardLayoutStar release] && [UIKeyboardTaskEntry dealloc]

这篇文章是近期解过的一个bug,由于我的日志是在Crashlytics上拿到的,很有迷惑性,此次写下来希望对遇到这种错误的小伙伴有帮助。 1.先上崩溃日志: #0. Crashed: com.apple.main-thread 0 libobjc.A.dylib 0x18da99704 objc_object::release() + 8 1 libs

2017-05-26 22:54:55 3341

原创 iOS大厂面试题

陆续面试了了一些大厂,感觉如果不留下点什么,有点说不过去,现将面试时,被问到的一些问题发出来,供大家一起学习参考吧。自我介绍(虽然看着没什么,但是这个能给面试官一些基本的信息,一份好的自我介绍,还是值得我们花时间准备的)命令行自动打包ipa的流程,由于本人是写了一个shell的脚本,进行的命令行打包。如果没做过的话问到的可能性不大。shell是如何传参,如何获取参数的, $0代表的代表的是什么。

2017-02-25 19:28:04 2645

原创 #pragma进阶

对于#pragma的使用,最初的设计是为了使源代码在不同的编译器下能够兼容,而xcode将#pragma的作用发挥到了极致。#pragma是一个预处理命令,实在编译时进行计算的。 综合起来#pragma的作用主要就两个整理代码防止编译警告整理代码 说到这里,就是如何写出整洁优雅的代码了。#pragma算是其中比较重要的一个命令。直接上代码@implementation ViewContro

2016-12-13 11:49:08 522

原创 NSArray排序方法比对

今天浏览到一位仁兄的帖子,提到了NSArray排序的问题,就根据自己总结写下了此篇帖子,同时附上自己的小demo,介绍一下NSArray关于排序方面的比对。个人感觉不适什么高深的知识,算是对api的使用。我归结为四种方法。手写for循环式简单排序(sortedArrayUsingSelector:)block语法式排序(sortedArrayUsingComparator:)高级排序(sor

2016-10-24 00:36:09 481

转载 iOS开发:正则表达式

正则表达式是一种用来进行文本匹配的工具,其语法优美简洁。在开发中,查找、对比以及匹配字符串是家常便饭的业务,通过正则表达式我们将这些业务描述成某些需求规则,来让我们的代码更美观、实用。例如我们要验证用户输入的密码长度是否满足6~18位的长度,新手最常见的验证方式是判断输入的密码长度return (textField.text.length >= 6 && textField.text.leng <=

2016-09-28 15:25:55 261

原创 XCode错误集锦

1.Xcode : Could not launch process launch failed: timed out waiting for app to launch 解决方法:重启XCode2.Xcode error “Could not find Developer Disk Image” 解决方法:xcode版本与真机的系统版本不匹配。升级的匹配版本。

2016-04-30 15:56:07 864

原创 浅谈函数式编程

这段时间准备了一个公司内部的技术分享,也不知道讲些什么,浏览一些技术资讯的时候看到函数式编程近来很火的样子,所以决定分享一下这方面的东东。我觉得我这个分享充其量就是个抛砖引玉的作用。希望为看到这篇博客的朋友有个思路上的启发,进而自己去深入的去研究究竟什么是函数式编程。 说到函数式编程还是要追溯到去年参加的swift开发者大会。那时候函数式编程才走入我的视线。 函数式编程是什么?我们先看一

2016-04-27 01:45:42 500

原创 UIImageView 序列帧动画及内存优化详解

最近有个项目要用到UIImageView序列帧的动画,就顺手研究了一下,并对齐进行了后期内存的优化。现在将代码片段和源码弄出来和大家一起分享下。// 从自己创建的bundle中获取UIImage并加入array中,最后将数组返回- (NSArray *)initialImageArray { if (self.imageBundle) { NSMutableArray *i

2015-11-26 11:08:34 8167 9

原创 iOS之CAEmitterLayer详解

CAEmitterLayer提供了粒子系统的核心动画,笔者亲手写了个例子感受了一下,功能还是蛮强大的,理解了其中的属性相信能做出很炫的东西,接下来我们就开始详细的了解CAEmitterLayer,直接上一个雪花飘落的代码了,在代码上进行注解。 - (void)configSnowEmitterLayer { // 生成一个CAEmitterLayer CAEmitterLay

2015-11-11 14:55:04 1948

原创 Objc中的instancetype和id的异同

先来看一下instancetype和id的用法 @interface ObjA : NSObject - (id)init; @end @interface ObjA : NSObject - (instancetype)init; @end他们都能用来返回一个对象。他们的区别在于id类型是返回任意类型的对象,而instancetype

2015-10-28 14:22:04 498

原创 __bridge,__bridge_retained和__bridge_transfer说明

1.在非arc的情况下id和void *可以互相转换    id p = nil;    void * = p; (no problem)2.在arc的情况下id和void *不能互相转换    id p = nil;    void * = p; (error)    需要__bridge进行转换    id obj = [[NSObject alloc] init]

2015-10-27 16:19:43 304

转载 高效人士睡觉前做的10件事

大部分高效能人士在日常生活中都有一些能帮助他们成功的习惯。他们明白,事业成功的关键在于自己的心理和身体健康,而这又取决于他们的睡前习惯。这10件事,帮助那些成功人士成为社会上最能赚钱的那20%。1.他们回顾自己的一天史蒂夫?乔布斯强烈建议充实度过每一天。“成为墓地里最富有的人对我来讲一点也不重要。晚上睡觉前能对自己说我今天干了点很精彩的事儿,这才是最重要的。”他曾经说过

2015-04-13 10:52:19 350

原创 IOS指定图片可变区域(slicing)

初衷最近做项目时一些view上用到了同一种图片,只是图片的大小不同,我们都知道,如果用同一张图片,只是简单的对齐进行缩放拉伸的话,图片就会出现模糊,或者图片的效果达不到理想的状态。在搜集了一些资料以后,发现xcode已经早想到了这个问题,也为开发者提供了相应的解决方案。现在跟大家分享出来,以供大家共同学习进步,有不足之处,希望大家多多包涵。Slicing使用xcode提供的sl

2015-03-04 00:21:20 7376

转载 30岁:程序员心中永远的痛?

软件业有这样一个笑话,“说起编程,博士不如硕士,硕士不如本科生,本科生不如专科生,专科生不如高中生……”。“三十而立”,然而在中国程序员这个团体中,很多到了30岁,或者还没有到30岁的幵发者对以后的发展便感到了盲目。笔者由于工作关系,曾经广泛接触我们的程序员。对于他们,笔者发现,“程序员30岁话题”包含的不仅仅是30岁以后做什么?它需要程序员、软件企业甚至整个软件产业一起来回答:“我们

2015-02-27 13:54:41 566

转载 软件项目将死的27个征兆

有时候我们会突然发现自己的项目正在走向注定的死亡。下面这些迹象可以让你提早发现项目失败的趋势。在数月内三次更改项目名称。项目经理决定,与其写一个国际化的单一版本还不如针对某个国家写一个完全独立的版本。需求定义发布于开发工作开展 4 个月后。新聘请的R&D主管纸上谈兵地表示,该项目将比计划提前 6 个月完成,并且自吹自擂地保证无需经过版本测试就

2015-02-26 13:41:46 475

转载 YC创业课第11课:创业团队如何招募早期员工

创业公司早期团队是创业成败的关键也是公司文化的塑造者。YC 创业课第 11 课,YC 创始人Sam Altman请到了Pinterest的创始人 Ben Silbermann 和Stripe的创始人 Patrick Collison、John Collison 兄弟,一起座谈公司核心文化和如何招募早期员工。作为广告界的新宠,Pinterest估值已达到50亿美元,其“引导式搜索”也被看

2014-12-31 16:57:01 766

转载 YC创业课第十课:Airbnb创始人谈企业文化

作者:Lucia沈文馨(联系方式:lucia@transi.st),坐标魔都,Project Manager@创思实验室,一家专注于用科技做社会创新的影响力投资机构,不定期举办Tech+Impact开放夜活动。Lucia也是“怪兽字幕组”的成员之一,正在为这门课翻译中文字幕。欢迎大家到YC创业课中文社区观看视频(中文字幕已更新到第五课)。第十课“企业文化”由红杉资本合伙人 Alfred

2014-12-31 16:55:20 2313

转载 【YC创业课】硅谷新老两代投资教父出场,拉家常聊如何融资

筹集资金是创业中相当重要的一环,如何获得 VC 的青睐,说服他们为项目募集到需要的资金,值得创业者认真思考。YC创业课第九课,请到了 Ron Conway(SV Angel 创始人,投过 Google 的天使轮)、Marc Andreessen(Andreessen Horowitz 基金合伙人)以及 Parker Conrad(Zenefits 联合创始人),以座谈会的形式来和创业者们谈谈

2014-12-31 16:52:06 664

转载 YC创业课:跟投资回报率达300倍的Wufoo学做一款有爱的产品

作者:曲凯 (联系方式:kqu@yunqi.vc)杜克大学研究生毕业,曾经尝试过管理咨询、在 36kr 写过科技稿、当过百度 PM、参与过早期创业。现为投资经理 @云启创投,关注 TMT 中早期投资。YC 创业课的第七讲请来了 Wufoo(一款免费的表单设计工具,后被 Survey Monkey 收购)的创始人 Kevin Hale。数据显示,一家创业公司在退出前的平均融资额度约为 250

2014-12-31 16:50:38 1486

转载 YC创业课之Facebook Growth Team:首先是用户留存,其次才是用户增长

作者:曲凯 (联系方式:kqu@yunqi.vc)杜克大学研究生毕业,曾经尝试过管理咨询、在36kr写过科技稿、当过百度 PM、参与过早期创业。现为投资经理 @云启创投,关注TMT中早期投资。Alex Schultz 早前曾在 Google 负责广告业务,现在是 Facebook 负责增长的 VP,Facebook 的Growth(增长)团队一直是比较出名的一个部门,另外近几年Gr

2014-12-31 16:49:12 556

转载 YC创业课之Peter Thiel:追求垄断的创业者才能成功

作者:曲凯 (联系方式:kqu@yunqi.vc)杜克大学研究生毕业,曾经尝试过管理咨询、在36kr写过科技稿、当过百度 PM、参与过早期创业。现为投资经理 @云启创投,关注TMT中早期投资。Peter Thiel最近也是火了一把,他有太多的 title,比如Paypal的联合创始人,Facebook 最早期的投资者(50 万美元换来 Facebook 的 10.2%

2014-12-31 16:47:51 475

转载 YC创业课之Homejoy篇:做出好产品之后,如何从零开始获得一百万用户呢?

作者:曲凯 (联系方式:kqu@yunqi.vc)杜克大学研究生毕业,曾经尝试过管理咨询、在36kr写过科技稿、当过百度 PM、参与过早期创业。现为投资经理 @云启创投,关注TMT中早期投资。YC 创业课第四讲课请到了Homejoy(YC 孵化的家政 O2O 创业公司)的创始人 Adora Cheung 来给大家讲一款产品从上线到大规模获取用户的过程。其中一些观点和之前课程的内

2014-12-31 16:45:48 785

转载 YC创业课之Paul Graham篇:创业就像生孩子,学生创业不鼓励^-^

本文为 YC 和 Stanford 联合推出的创业课系列第三讲。在第一讲课上,我们提到了“为什么要创业”和“创业四元素”的前两点 idea 和 product,第二讲课上 Sam Altman 给我们带来了四元素的后两点“Team”和“Execution”。今天 Paul Graham 将要讲的是”创业中违反直觉的部分,和怎样获得创业的 idea”,不得不说这是我在这个系列中最期待的一

2014-12-31 16:44:22 551

转载 YC创业课:如果你只有一年可活,还要不要来我司工作?

编者按:本文作者为曲凯(kqu@yunqi.vc),杜克大学研究生毕业,曾经尝试过管理咨询、在 36kr 写过科技稿、当过百度 PM、参与过早期创业。现为投资经理 @云启创投,关注 TMT 中早期投资。在第一讲课上,我们提到了“为什么要创业”和“创业四元素”的前两点 idea 和 product,今天第二讲课上 Sam Altman 给我们带来了四元素的后两点“Team”和“Executi

2014-12-31 16:41:36 684

转载 YC出品的创业第一课:How to start a startup

Sam Altman 是硅谷孵化器 Y Combinator 的新主席,这次他联合斯坦福大学一起,开设了这门叫做CS183B的课,目的是教给所有想创业的人该如何创业,课程内容非常基础。想要观看本课中文视频的同学,可以移步YC创业课中文社区。之所以叫 CS183B,可能是因为此前有过一门类似的创业课,由 Peter Thiel 主讲,编号为CS183。36氪之前有过系列介绍。

2014-12-03 20:30:25 966

原创 设计模式之工厂方法和抽象工厂

前言最近在研究设计模式,因为工厂方法与抽象工厂有很多相似之处,看过一些书籍和网上相关的帖子,现在根据自己的一些理解写出来供大家参考。工厂方法工厂方法要解决的问题是对象的创建时机,它提供了一种扩展的策略,很好地符合了开放封闭原则。工厂方法也叫做虚构造器(Virtual Constructor)。工厂方法中的静态类结构

2014-10-23 18:53:27 304

libstdc++.6.0.9.tbd

由于xcode10已经没有libstdc的库,所以提供libstdc++.6.0.9.tbd下载

2018-12-25

NSArray排序demo

NSArray排序demo

2016-10-24

NSPredicate Demo

NSPredicate 的demo。 NSPredicate过滤器的使用方法。

2016-01-04

UIImageView序列帧

本代码是一款介绍利用UIImageView展示序列针的Demo。其中包括优化后使内存占用量尽量减的最小。

2015-11-26

粒子系统的demo

一个粒子系统的demo,今天亲手写了一个效果挺炫。

2015-11-11

设计模式代码

本代码是以obj-c语言编写的工厂方法和抽象工厂的实例代码,供有兴趣者参考学习

2014-10-23

空空如也

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

TA关注的人

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