10 2018 档案
摘要:gitHub 下载框架 搜索MJExampleViewController.h 下拉刷新 MJTableViewController 上拉刷新 MJTableViewController CollectionView的使用参考 MJCollectionViewController UIWebView
阅读全文
摘要:pod install 在项目中第一次使用CocoaPods, 进行安装的时候使用这个命令. 在Podfile中增加或删除某个pod后, 也是使用这个命令. 而不是pod update. 每次运行pod install命令, 下载并安装新的pod时, 它会为Podfile.lock文件中的每个pod
阅读全文
摘要:(1)ButterKnife是什么? 在开发过程中,我们总是会写大量的findViewById和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得特别麻烦,当然不会偷懒的程序员不是好程序员,自然也出现了相应的解决方案--依赖注入。而ButterKnife则是依赖注入中相对简单易懂
阅读全文
摘要:通过Android Studio 的Sdk Manager安装NDK,安装完之后编译失败,报错信息如下: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 网上查了
阅读全文
摘要:OnTouch关于performClick的Warning 当你对一个控件(例如FloatingActionButton)使用setOnTouchListener() 或者是对你的自定义控件重写onTouchEvent方法时会出现这个警告,警告内容全文如下 If a View that overrides onTouchEvent or uses an OnTouchListener...
阅读全文
摘要:getDimension 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回float getDimensionPixelOffset 获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘 返回int getDime
阅读全文
摘要:自定义一个写字板来帮助理解双缓存。如果不使用双缓存那么用户只能看到绘制的最后一笔的效果。因为在不断调用invalidate(),未保存的绘制过程会消失。 效果图:用模拟器画的效果没有真机好
阅读全文
摘要:View生命周期相关方法 View是什么?官方源码注释中的定义:这个类是用户接口的基础构件。View表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理。 View是所有widget类的基类,Widget类用于创建交互式UI构件(按钮,输入框等)。 View类的ViewGroup子类是layout的
阅读全文
摘要:0.前言今天看到一个概念是View的生命周期,有点懵逼,听说过Activity的生命周期,Fragment的生命周期,对View的生命周期好像没什么概念啊。难道layout、draw这些也算是生命周期的方法吗?因此查阅、整理了一些资料,有了此文。 1.View生命周期相关方法View的生命周期从构造
阅读全文
摘要:NSNumber与NSValue关系与作用 1.由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们就需要将这些数据类型或结构体包装成OC对象,以便集合能访问到。常用的用来包装这些类型的有NSNumber NSValue 2.NSNumber只能包装基本数据类型,比如int, flo...
阅读全文
摘要:前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表、实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移,如果仅仅是在旧版本的数据模型上进行上述操作,就会造成所有旧用户更新完成后的第一次启动崩溃。 数据迁
阅读全文
摘要:Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象,通过CoreData管理应用程序的数据模型,可以极大程度减少需要编写的代
阅读全文
摘要:app中使用了CoreData,并且在下一个版本中有实体变动,比如实体新增字段、修改字段等改动, 那么app在覆盖安装时就要进行数据库迁移, 否则app就会crash。 那如何实现数据库迁移呢?大概需要这几个步骤: 1. 选中你的CoreData.xcdatamodeld文件,选择Xcode菜单ed
阅读全文
摘要:在真实开发中,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模的重构;所以数据的迁移就显得尤为重要了。 CoreData 中,数据迁移本质就是把旧的 SQLite 数据库里的内容,复制到新的 SQLite 数据库里去,让新的数据库作为默认的数据存储。伴随着模
阅读全文
摘要:服务端原本有个定时任务对一个集合ArrayList 中的消息做处理。 因为考虑到处理消息是先进先出原则,所以优化的时候考虑改用ConcurrentLinkedQueue 当时没仔细深入研究过这个集合就匆匆上线了。结果刚上线第二天就出问题了。服务端一次优化演变成了一个缺陷,还好及时回退了版本,后果才不
阅读全文
摘要:LinkedBlockingQueue 的API中,从队列中获取元素,有以下几个方法:1、take():原文:Retrieves and removes the head of this queue, waiting if necessary until an element becomes ava
阅读全文
摘要:import java.util.concurrent.ConcurrentLinkedQueue; public class CacheTest { /** * * offer(E e) 将指定元素插入此队列的尾部。 * poll() 获取并移除此队列的头,如果此队列为空,则返回 null。 *
阅读全文
摘要:随着项目的不断迭代,加上产品经理大法(这里加一个弹窗提示,这里加一个引导….)各种弹窗在应用启动时候需要展示, 然而它们出现的时机还有可能重叠。我勒个擦。。。有没有一种优(tou)雅(lan)的方式来完成这部分的需求呢?没错,这就是我们今天要介绍的东西.我们想的是需要一个队列来管理弹窗,在各种请求回
阅读全文