随笔分类 -  Objective-C

记录Objective-C的相关知识
摘要:经常有小伙伴私下在Q上问一些关于Runtime的东西,问我有没有Runtime的相关博客,之前还真没正儿八经的总结过。之前只是在解析第三方框架源码时,聊过一些用法,也就是这些第三方框架中用到的Runtime。比如属性关联,动态获取属性等等。本篇博客就针对Runtime这个主题来总结一些其常用的一些方 阅读全文
posted @ 2017-02-23 09:37 青玉伏案 阅读(5086) 评论(1) 推荐(3) 编辑
摘要:之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的。因为项目需求的迭代,要求在银行卡绑定中添加支行所在的省市信息。在iOS中选择这种省市信息的一个比较不错的方式当时是使用UIPickerView进行显示了 阅读全文
posted @ 2016-06-15 10:44 青玉伏案 阅读(2648) 评论(0) 推荐(4) 编辑
摘要:最近工作比较忙,但还是出来更新博客了,今天给大家分享一些ReactiveCocoa以及MVVM的一些东西,干活还是比较足的。在之前发表过一篇博文,名字叫做《iOS开发之浅谈MVVM的架构设计与团队协作》,大体上讲的就是使用Block回调的方式实现MVVM的。在写上篇文章时也知道有ReactiveCo 阅读全文
posted @ 2015-11-09 09:19 青玉伏案 阅读(14121) 评论(16) 推荐(17) 编辑
摘要:数据库的在上一篇博客中《SQLite之C语言接口规范(三)——Binding Values To Prepared Statements》用到了如何从查询结果中取出结果值。今天的博客就详细的介绍一下sqlite3_column_*()的方法。在SQLite数据库C语言接口中,从查询结果中取出不同类型 阅读全文
posted @ 2015-09-21 10:17 青玉伏案 阅读(1582) 评论(0) 推荐(3) 编辑
摘要:在上篇博客《iOS开发之使用Runtime给Model类赋值》中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property Name相同,然后通过运行时来生成和执行Setter方法给Model类的属性赋值。 通过Runtime来... 阅读全文
posted @ 2015-08-01 10:58 青玉伏案 阅读(10428) 评论(6) 推荐(3) 编辑
摘要:做iOS开发有一段时间了,也有自己上线的App产品,也在坚持着发表技术博客总结自己所学的东西。在写博客的时候虽然博文中不免有错别字,但每句话都是在斟酌之后所写的,每篇博客所粘贴的代码都是经过调试运行无误后所写的。在发表完博客后由许多园友留下邮箱索要Demo,看到的我都给发过去啦,可能会有漏的。所以在 阅读全文
posted @ 2015-01-06 09:38 青玉伏案 阅读(4392) 评论(32) 推荐(19) 编辑
摘要:在前面的博客中如果用到了异步请求的话,也是用到的第三方的东西,没有正儿八经的用过iOS中多线程的东西。其实多线程的东西还是蛮重要的,如果对于之前学过操作系统的小伙伴来说,理解多线程的东西还是比较容易的,今天就做一个小的demo来详细的了解一下iOS中的多线程的东西。可能下面的东西会比较枯燥,但还... 阅读全文
posted @ 2014-11-10 08:30 青玉伏案 阅读(2644) 评论(2) 推荐(2) 编辑
摘要:前面在做东西的时候都用到了storyboard,在今天的代码中就纯手写代码自己用封装个Button。这个Button继承于UIView类,在封装的时候用上啦OC中的三种回调模式:目标动作回调,委托回调,Block回调。具体的内容请参考之前的博客:“Objective-C中的Block回调模式”,... 阅读全文
posted @ 2014-09-12 09:13 青玉伏案 阅读(8950) 评论(1) 推荐(4) 编辑
摘要:​​通知(Notification)简单的类比一下,公司的老总给下面的员工发通知啦,说明天公司要上市,各部门做一下准备工作。等通知发完,各部门收到后各司其职,做着自己该做的东西。假如Boss是通过公司的内部论坛发送的通知,那么Boss就是发送通知的对象,而公司员工就是通知的接受方,而公司的内部论... 阅读全文
posted @ 2014-08-25 08:03 青玉伏案 阅读(2287) 评论(7) 推荐(3) 编辑
摘要:在前面的博客中提到了Block的概念和使用方法,个人感觉Block最爽的用法莫过于在回调时用block。感觉比委托回调和目标方法回调用着要顺手,好不好用还得读者亲自用一下才知道。如果 读者之前用过SSH框架的话,看到OC中的Block回调,会感觉非常的亲切,和Java中的接口回调像极了。还是... 阅读全文
posted @ 2014-08-22 09:32 青玉伏案 阅读(6461) 评论(4) 推荐(3) 编辑
摘要:前面的博客中提到过回调的概念,是在OC通过协议来实现的回调,和Java中的接口的回调极为相似,下面来介绍另一种方法回调模式: Target-Action回调。首先我们来从字面意思来理解一下Target-Action回调模式,Target目标即我们要调用哪个目标对象中的方法。Action是行为... 阅读全文
posted @ 2014-08-21 08:28 青玉伏案 阅读(2813) 评论(3) 推荐(1) 编辑
摘要:KVC和KVO看上去又是两个挺牛的单词简写,KVC是Key-Value Coding的简写,是键值编码的意思。KVO是Key-Value Observing的简写,是键值观察的意思。那么我们能拿KVC和KVO干些什么事呢?这两个缩写单词不能否认听起来挺高端的样子。这两个方法都是runtime... 阅读全文
posted @ 2014-08-19 10:12 青玉伏案 阅读(1729) 评论(1) 推荐(2) 编辑
摘要:ARC在OC里面个人感觉又是一个高大上的牛词,在前面Objective-C中的内存管理部分提到了ARC内存管理机制,ARC是Automatic Reference Counting---自动引用计数。有自动引用计数,那么就得有手动引用计数MRC(Mannul Reference Counti... 阅读全文
posted @ 2014-08-18 07:57 青玉伏案 阅读(2807) 评论(4) 推荐(3) 编辑
摘要:上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字符串的截取,关键是怎么个截法,才能把字符串中的参数列表分别转换成键值对。下面是小菜自己的转换... 阅读全文
posted @ 2014-08-16 08:45 青玉伏案 阅读(6406) 评论(1) 推荐(0) 编辑
摘要:可能上面的标题有些拗口,学过PHP的小伙伴们都知道,PHP中的数组的下标是允许我们自定义的,PHP中的数组确切的说就是键值对。而在OC我们要用字典(Dictionary)来存储,当然了Java用的是Map来存储键值对。下面我们将实现一个极为实用的小例子,网络请求有get和post方法,两种方... 阅读全文
posted @ 2014-08-15 08:21 青玉伏案 阅读(2752) 评论(3) 推荐(1) 编辑
摘要:学习OC有接触到一个新词Block(个人感觉又是一个牛气冲天的词),但不是新的概念,不是新的东西。学过Javascript的小伙伴对闭包应该不陌生吧~学过PHP的应该也不陌生,在PHP5.3版本以后也支持闭包, 也就是OC中所提到的Block。 到底什么是闭包或者block呢?用大白话说就是... 阅读全文
posted @ 2014-08-14 08:27 青玉伏案 阅读(7008) 评论(3) 推荐(2) 编辑
摘要:我个人更喜欢把委托(Delegate)模式称为代理(Proxy)模式。还是那句话,第一次接触代理模式是在Java中接触的,在Java中实现代理模式和接口是少不了的。当时学习Spring的时候用到了接口回调,其实就是实现的委托代理模式。简单的说代理就是把相应的功能交给实现接口的相应的类中来解决... 阅读全文
posted @ 2014-08-13 08:56 青玉伏案 阅读(5763) 评论(2) 推荐(3) 编辑
摘要:​ ​单例模式算是设计模式中比较简单的一种吧,设计模式不是只针对某种编程语言,在C++, Java, PHP等其他OOP语言也有设计模式,笔者初接触设计模式是通过《漫谈设计模式》了解的。这本书中是用java写的,个人感觉拜读完这本书以后虽然有不理解的地方但还是收获蛮大的。上面提到依赖注入,控制翻转的 阅读全文
posted @ 2014-08-11 08:23 青玉伏案 阅读(1661) 评论(2) 推荐(2) 编辑
摘要:写这篇博客源于一个疑问:“WoK~, 这也行?!”。刚接触OC不久,今天做深浅拷贝的测试,无意中把获取NSArray的值写成了用下标获取的方式。当时把注意力放在了深浅拷贝的内存地址分析上了,就没太在意,测试做完啦,在回顾的时候发现数组是用下标的方式获取的! 于是就有了个疑问,在OC中这样写也行?... 阅读全文
posted @ 2014-08-09 09:27 青玉伏案 阅读(5241) 评论(2) 推荐(3) 编辑
摘要:在Objective-C中对象之间的拷贝分为浅拷贝和深拷贝。说白了,对非容器类的浅拷贝就是拷贝对象的地址,对象里面存的内容仍然是一份,没有新的内存被分配。对非容器类的深拷贝就是重写分配一块内存,然后把另一个对象的内容原封不动的给我拿过来。对容器类的深拷贝是对容器中的每个元素都进行拷贝,容器类... 阅读全文
posted @ 2014-08-08 08:12 青玉伏案 阅读(6007) 评论(11) 推荐(3) 编辑

点击右上角即可分享
微信分享提示