- 博客(39)
- 收藏
- 关注

原创 面试题 第二弹
category和 extension 的区别• category :分类有名字,类扩展没i有分类名字,是一种特殊的分类• extension :分类只能扩展方法(属性仅仅是声明,并没真正实现),类扩展可以扩展属性、成员变量和方法 define和 const常量有什么区别?• define在预处理阶段进行替换,const常量在编译阶段使用• 宏不
2017-02-16 23:23:45
253

原创 ios 面试题 第一弹
父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷贝是指针拷贝,对一个对象进行浅拷贝,相当于对指向对象的指针进行复制,产生一个新的指向这个对象的指针,那么就是有两个指针指向同一个对象,这个对象销毁后两个指针都应该置空。深拷贝是对一个对象进行拷贝,相当于对对象进行复制,产生一个新的对象,那么就有两个指针分别 指向两个对象。当一个
2017-02-16 17:42:01
590

转载 让Git不再难学
浅析SVN与Git的不同最基本:SVN是集中式,Git是分布式的。集中式,版本库集中存放在中央服务器,工作时,每个人需要先从中央服务器获取最新的版本,然后在属于自己的分支下工作,完成工作后,再提交到中央服务器;分布式,每一个电脑都是一个完整的版本库,可以减少中央服务器挂掉所带来的严重后果。也可以这样理解,Git相当于SVN服务端和客户端的集合;联网需求不同:Git中,不必联网就能看到版
2016-09-04 23:27:04
556
原创 iOS 检测项目中的静态库 哪些不支持64位
找出不支持arm64的静态库 find . -name *.a -exec lipo -info "{}" \;
2017-04-27 00:38:09
346
原创 面试题 第三弹
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。 2.
2017-02-23 22:55:39
399
原创 超级全面的iOS资源
如何用Facebook graphic api上传视频:http://developers.facebook.com/blog/post/532/Keychain保存数据封装:https://github.com/carlbrown/PDKeychainBindingsController对焦功能的实现:http://ww
2017-02-15 23:53:23
1797
原创 程序员面试时常犯的10个错误
1.只在电脑上练习如果面试官要考核你的技术,很有可能会要求你在白板上写代码,而不是电脑上。所以,你就不能只在电脑上练习。电脑上的编译器会自动发现你的语法错误,但是白板不会。拿出笔和纸来练习下如何写代码。如果你自我检查之后,觉得程序正确,再将它们输入到电脑里,看看是否和原先设想的一样。2.不为可能提出的问题做准备面试之前一定要为可能提出的问题做准备。问题可能涉及你曾经的项目,你遇
2017-02-13 18:29:48
385
原创 邓白氏码申请流程
如果您的项目比较着急的话,可以给华夏邓白氏打电话或者发邮件,请参考:http://www.cocoachina.com/bbs/read.php?tid=311882详细流程一、填写申请表单申请苹果开发者账号途中,我们会用到邓白氏编码,申请邓白氏编码的入口自然也是在申请苹果开发者账号途中进入,这里简单截图引导,由于我们公司的DUNS(邓白氏)编码刚下来,要等7-14天才能使
2016-12-15 14:10:58
1814
原创 KVC/KVO
由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性: 键值编码KVC键值监听键值编码KVC我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象。其实由于
2016-12-05 15:20:28
178
原创 iOS 常用小功能
小功能简介iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话、打开网址、发邮件、发短信等 打电话-方法3创建一个UIWebView来加载URL,拨完后能自动回到原应用if (_webView ==nil) { _webView = [[UIWebViewalloc] initWithFrame:CGRectZero];}[_
2016-12-05 15:19:40
240
原创 Alcatraz Xcode插件管理工具
1.安装和删除安装:1.创建一个文件夹 mkdir -p ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins; 2.安装之前推出Xcode,终端执行命令:curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install
2016-11-02 15:49:58
250
原创 CodeSign error: code signing is required for product type Application in SDK iOS
在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type 'Application' in SDK 'iOS 7.0' ,就是说代码签名证书不对劲。解决方案,1.选择工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug
2016-09-20 16:19:07
211
转载 iOS开发 适配iOS10以及Xcode8
现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本,童鞋们有木有下载过来试试呢?就我的使用来说,总体觉得苹果还是坑不断,但是也在一直进步的啦。下面我就来说说,iOS10的适配以及Xcode8使用上的一些注意点。一、证书管理用Xcode8打开
2016-09-19 10:22:10
241
转载 【开源一款 IM UI组件:ChatKit-OC】像UIAlertView一样简单,init后就能show,像UITableView一样能玩出花样
像AlertView一样简单,init后就能show,像TableView一样能玩出花样项目地址:ChatKit-OC上线第一天 Trending 排名第一:enter image description here什么?很多人已造了类似轮子?Demo 太多,是时候该来一款 Lib 了;闭源的太多,是时候来一款开源的了;部分开源的太多,是时候来一款 100%
2016-09-19 10:05:35
301
转载 我要一次搞定runtime
相关代码:https://pan.baidu.com/s/1qXC6Yew请配合代码阅读,文章内容来源于小马哥视频一、runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才
2016-09-18 18:01:48
262
转载 iOS-多线程详解
一. 多线程基础1. 进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内2.线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程,称为主线程)一个进程(程序)的所有任务都在线程中执行3. 进程和线程的比较1.线程是CPU调用(执行任务)的最小单位。2.进程是CPU分配资源的
2016-09-18 17:58:42
201
原创 解决警告“ld: warning: directory not found for option”
从项目中删除了某个目录、文件以后,编译出现警告信息:ld: warning: directory not found for option“XXXXXX”很奇怪,为什么已经从项目中删除了文件和文件夹还是报这个警告呢?去掉警告的办法如下:1选择工程, 编译的 (targets)2选择 Build Settings 菜单
2016-09-18 17:56:28
332
原创 iOS 设置导航栏半透明后添加视图变化
1.设置导航栏为不透明self.navigationController.navigationBar.translucent = NO;UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 40)];redView.backgroundColor = [UIColor redColor];[sel
2016-09-18 17:18:59
779
转载 iOS制作framework
framework的使用十分方便,一般来说直接拖入到项目中就可以直接使用接口,而不用在意具体的实现细节,对于功能的封装是个很好的途径。当我们写的工具给别人使用的同时又不想让别人知道自己的代码,这个时候使用framework就可以派上用场了(ps:个人觉得开源是一个大牛必须要体会到的思想)。。。废话不多说,xcode如今已经到了7,对于framework的制作可以说是十分方便了。公司之前的fra
2016-09-18 17:15:49
326
转载 iOS开发 适配iOS10以及Xcode8
iOS开发 适配iOS10以及Xcode8现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本,童鞋们有木有下载过来试试呢?就我的使用来说,总体觉得苹果还是坑不断,但是也在一直进步的啦。下面我就来说说,iOS10的适配以及Xcode8使用
2016-09-14 14:32:09
263
转载 Undefined symbols for architecture armv7: "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
Xcode报错: Undefined symbols for architecture armv7: "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from: objc-class-ref in libWeChatSDK.a(MTAHelper.o)ld: symbol(s) not found for a
2016-09-03 11:59:16
198
转载 IOS开发常用宏
//字符串是否为空#define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] 1 ? YES : NO )//数组是否为空#define kArrayIsEmpty(array) (array == nil || [array isKindOfClass:[NSNu
2016-09-02 09:43:54
229
转载 【干货】一行代码实现自定义转场动画
前言这段时间写了一个自定义转场动画集,只需要一行代码就可以实现各种各样的自定义转场动画。这是源码地址:WXSTransition。大家可以去下载来看看,喜欢的话麻烦给个Star。介绍transition animation asset一个界面转场动画集。在平时开发中,有时候需要一些转场动画给界面调整增添一些活力,而实现这些动画相对比较繁琐。为
2016-08-22 01:06:32
1375
原创 iOS面试题-持续更新
1.Difference between shallow copy and deep copy?浅复制和深复制的区别?答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只有一份,那如果我们对A_
2016-08-22 00:28:17
253
转载 iOS 开发中你是否遇到这些经验问题
小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时也是提高开发经验的渠道!1.既然有问题我们该怎样解决?首先大部分人都会去百度搜索来解决问题, 谁都不例外, 可是百度这东西会有很多误解, 甚至误人子弟, 同时解决问题的效率也不是很高, 如果
2016-08-19 11:36:40
285
原创 画圆角
UIView *view = [[UIView alloc]init]; view.frame = CGRectMake(50, 50, 50,50); view.backgroundColor = [UIColor redColor]; // 圆角 view.layer.masksToBounds = YES; view.la
2016-08-18 17:10:24
206
原创 控件 加阴影
首先不要忘记,必须导入IOS的framework:#import 这样才能启动UIImageView中layer的一个category图片阴影: [[imageView layer] setShadowOffset:CGSizeMake(5, 5)]; // 阴影的范围 [[imageView layer] setShadowRad
2016-08-18 17:08:52
301
原创 iOS9 适配
1.网络请求报错。升级Xcode 7.0发现网络访问失败。输出错误信息The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.原因:iOS9引入了新特性App Transport Securit
2016-08-18 17:08:13
288
原创 labe 加删除线
UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(20, 60, 100,30)]; [self.xuzhiView addSubview:lable]; lable.backgroundColor = [UIColor redColor]; lable.textA
2016-08-18 17:07:04
231
原创 Xcode界面编辑器 could not insert new outlet connection
Xcode界面编辑器 could not insert new outlet connection 直接删除DeriveData 操作步骤是关闭当前项目,然后关闭Xcode,然后通过Terminal或者是Finder找到下面的目录: ~/Library/Developer/XCode/DerivedData 在里面找到以你的项目开头的文件,将他们删除。 接着重新启动Xc
2016-08-18 17:06:10
234
原创 通知
//接收通知[[NSNotificationCenter defaultCenter] addObserver: selfselector:@selector(xxxxx)name:@"xxxxx"object:nil];-(void)xxxx{}//释放通知 [[NSNotificationCenter defaultCenter]
2016-08-18 17:05:24
179
原创 label 字体换色
UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, 300,50)]; lab.numberOfLines = 0; lab.text = @"朦朦胧胧萌萌哒:忽地萨发罗夫的送回国的萨可减肥经典款撒积分兑换可舒服了地方上课啦放假啊大家思考理发店说的就是咖喱惊魂甫定了件快乐的撒进
2016-08-18 17:04:43
280
原创 uinavcontorller 横划返回
self.navigationController.interactivePopGestureRecognizer.delegate = (idUIGestureRecognizerDelegate>)self; [self.navigationController.interactivePopGestureRecognizersetEnabled:YES];}
2016-08-18 17:03:23
277
原创 页面跳转
常用的就两种 一种通过导航,一种直接跳第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化:ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]];
2016-08-18 17:01:43
200
原创 压缩照片
-(UIImage *)compressImage:(UIImage *)image{ @autoreleasepool { //压缩图片尺寸 float scales = image.size.height / image.size.width; UIImage *normalImg;
2016-08-18 17:00:56
255
原创 收集了 1000 个 iOS 常用的库。原文:https://github.com/iamdaiyuan/ios_top_1000
收集了 1000 个 iOS 常用的库。原文:https://github.com/iamdaiyuan/ios_top_1000 NameDemoAFNetworking SDWebImage GPUImage ReactiveCocoa RestKit
2016-08-18 17:00:09
4375
转载 iOS-最全的App上架教程
准备开发者账号完工的项目上架步骤一、创建App ID二、创建证书请求文件 (CSR文件)三、创建发布证书 (CER)四、创建Provisioning Profiles配置文件 (PP文件)五、在App Store创建应用六、打包上架一、创建App ID1.打开苹果开发者官网,点击“Account
2016-08-18 00:22:08
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人