自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 java使用“+“,concat和StringBuilder、StringBuffer拼接字符串性能对比

结论:StringBuilder > StringBuffer > concat > "+" 原因如下:1.使用"+"拼接:首先来看这段代码干了什么事,通过javap得出步骤如下:我们需要了解的是,str += "A"到底做了什么事情?由上图可知1. 创建StringBuilder对象2.StringBuilder对象执行append(str)3.StringBuilder对象执行append("A")4.StringBuilder对象执行toStri.

2020-11-04 20:05:23 1315 3

原创 关于java构造方法的几个注意点

工作久了,很多基础性的知识也就忘了,Object-C如此,java也是。关于java构造方法的几个注意点如下:1.构造方法不能被继承 , 不多做解释,试试便知2.如果自己实现了构造方法,JVM将不会为你默认添加无参构造方法经反编译得知,程序编译时,会默认添加一个无参构造器。但是如果父类自己实现了重载的构造方法,那么将不会默认创建无参构造器。故子类构造方法会报错,因为子类构造器中默认第一行会被默认添加super()调用父类构造方法,而此时父类已经没了无参构造方法。所以如果父类没有无参构

2020-10-25 13:45:12 499

转载 iOS - 直播文章收集

http://www.jianshu.com/p/b8db6c142aad http://www.jianshu.com/p/8ea016b2720e

2017-06-29 14:01:32 538

转载 iOS - MQTT

http://www.jianshu.com/p/bcf0251dc181

2017-06-20 11:51:38 511

转载 iOS - 离屏渲染

http://www.jianshu.com/p/ca51c9d3575b https://sanwen8.cn/p/1f5lS0U.html

2017-06-01 19:03:29 599

转载 iOS - webSocket讲解

http://www.cocoachina.com/ios/20170522/19327.html

2017-05-23 11:12:28 717

转载 iOS - 将应用加入浏览器分享列表及交互

https://my.oschina.net/vimfung/blog/707448

2017-05-02 10:49:44 2290 4

原创 iOS - OC字典底层实现模拟(数组+链表)

OC中的字典实际上为一个数组 , 数组中的每个元素同样为一个链表实现的数组 ,也就是数组中套数组。为什么要这么设计 ?原因有二: 1. 每个对象创建时,都默认生成一个hashCode ,也就是一个经过哈希算法生成的一串数字 。当利用key去取字典中的value时,若是使用遍历或者二分查找等方法,效率都相对较低 ,于是出现了根据每个key生成的hashCode将该键值对放到hashCode对应的数组

2017-05-01 00:51:58 5934

原创 iOS - 分别用OC和java实现链表数组

OC :#import <Foundation/Foundation.h>@interface MYLinkedArray : NSObject@property (assign , nonatomic) NSUInteger size; //数组长度- (void)addObject:(NSObject *)obj; //添加元素- (void)remove:(NSObject *)obj; /

2017-04-30 15:12:33 1332

原创 iOS - 基于CocoaAsyncSocket搭建完整的IM体系大体思路详解

想要搭建一个完善 ,且自定义程度较高 , 又便于后期维修和修改的IM体系 , 采用环信或者融云等实际上是非常消耗精力和时间的 ,因为他们做得也不完善 . 目前咱们已知的通信协议大概有MQTT , XMPP等 .. 然而 , 通信协议是别人制定好的规则 , 想要不受约束 , 就需要自定义一套属于自己的通信协议 . 其实通信协议并不难 , 无非就是iOS端,安卓端,web端和服务器共同协商一套,大

2017-04-24 18:16:36 5632 1

原创 iOS - 压缩控制器作用范围,路径push选择

通常情况下 , 导航的作用域为整个屏幕 , 即使把view范围缩小 , 但是push的效果依然存在于全局 . 此demo将导航的作用域可以进行随意压缩 , 便可以实现在页面中的页面可以局部性的push , pop 导航控制器的压缩 , 使得可以将导航范围缩小到指定区域 , 实现页面中的页面效果 . 适用于路径选择,文件选择等 , 求STAR…

2017-03-23 20:25:27 477

转载 Java - Mac配置JDK环境变量

http://www.cnblogs.com/iOS-mt/p/5726380.html

2017-03-14 14:14:47 513

原创 iOS - 下拉上拉菜单,万能菜单,适用于各种场合

Github 下载地址 :https://github.com/coderMyy/MYDropMenu , 如果有好的建议或者意见,请直接留言 1. 常规位移上拉下拉,蒙板可设置透明或半透明,可随意自定义UI样式,详情请见demo 2. 常规展开式上拉下拉,蒙板可设置透明或半透明,可随意自定义UI样式,详情请见demo 3. 常规弹簧效果上拉下拉,蒙板可设置透明或半透明,可随意自定义UI样

2017-02-26 23:15:02 9478 1

原创 iOS - 照片浏览器(图片放大,轮滑,长按操作)

项目中时常用到的图片浏览器1. 常规使用 , 照片预览,照片放大缩小 , 长按保存等操作。 2. 带有文本描述使用 github 地址 : https://github.com/coderMyy/MYPhotoBrowser 求星星 …好人一生平安

2017-02-23 12:50:34 2262

原创 iOS - 图文混排(支持图片文字混排,网址@#话题#以及自定义链接,关键字高亮等)

1 .普通图片文字混排 2. 带链接(@,#话题#,网址)的文字和自定义的链接的混排 3.带关键字高亮显示的混排 4. 比较复杂的用法, 包含网址链接,关键字显示,自定义链接,图片混排下载地址 : https://github.com/coderMyy/MYCoreTextLabel , 求星星…求星星…

2017-02-17 15:17:30 2462

原创 iOS - 设备扬声器听筒切换,静音模式播放音频

做社交产品时 , 语音聊天是必不可少的 , 如果公司不用三方框架比如环信或者融云什么的 , IM这块就得纯手动撸了.. 正如我们项目 … 做到后面细节部分 , 听筒和扬声器切换播放语音 , 静音模式下依然可以播放语音 , 此需要必不可少 . 网上查了很多 , 也没找到合适的 , 可能是自己写IM的公司还是比较少吧 ..后面想明白后 , 其实非常简单 , 就几句代码 … 距离传感器 + 声筒切换一

2017-02-08 18:25:47 3444

原创 iOS - runtime快速归解档

在开发中 , 通常会运用到一些全局的单例 , 保存用户的基本信息或者一些基本状态 . 这个时候可能会运用到单例来保存信息 , 保证全局获取到的都是最新的相同的信息. 并且,一般全局单例的属性较多 , 比如包括了用户的姓名,手机号,性别,城市,年龄等等众多信息.如果对该单例的各项属性进行归档, 那么得让此单例遵循协议,并实现 - (id)initWithCoder:(NSCoder *)decoder

2017-01-18 00:47:01 692

原创 iOS - NSDate分类-判断时间是否为今天,昨天,一周内,年月日

#import <Foundation/Foundation.h>@class JYChatMessageModel;@interface NSDate (extension)//判断时间戳是否为当天,昨天,一周内,年月日+ (NSString *)timeStringWithTimeInterval:(NSString *)timeInterval;@end#import "NSDate+ex

2017-01-08 14:32:18 9793 1

原创 iOS - 开发中监听系统键盘删除按钮 , 回车按钮小技巧

开发中, 也许我们会遇到需要监听系统键盘的删除点击 , 比如当你自定义一个表情键盘时 , 当系统键盘的删除按钮点击时 , 你也应根据正则判断去删除[]以内的表情 . 如何监听 ? 设置textField或者textView的代理 , 并实现如下代理方法 , 仅需一个判断就可以监听 , 无须KVO , 通知什么的方法.- (BOOL)textView:(UITextView *)textView s

2016-12-28 14:56:17 2961

转载 iOS - PhotoKit框架使用说明(转)

http://www.jianshu.com/p/42e5d2f75452

2016-12-19 12:05:23 699

原创 UI - 修改tableView多选默认蓝色选中按钮 , 全选 , 取消全选

经常会有需求 , 更改tableView多选的默认按钮颜色 , 默认为蓝色 , 很多情况下可能会根据自己项目的主题色进行修改 . 简单粗暴 , 直接上代码 . 重写Cell的布局方法 , 依次遍历子控件 , 修改默认颜色- (void)layoutSubviews{ [super layoutSubviews]; [self.subviews enumerateObjects

2016-12-01 09:35:50 3392

原创 iOS - block详解

最近赶项目 , 自己时间比较少 , 加上也没找到什么可写的东西 , 就写一点关于block的东西吧 . 一些细节还是值得思考的 , 基本上也把所有的情况和大致原理都罗列了一些 . 这里我们创建Person类 和ViewController类来做一些试验和比较.Person类 .h 文件#import <Foundation/Foundation.h>/** * 无返回值 可以接收参数的bloc

2016-12-01 09:17:13 447

原创 Swift学习记录 - 关于Alamofire手动导入以及pod导入bug处理

目前pod导入Alamofire库 , 即使是xCode8以上版本 , 也会有一直报提示让你转换升级之类的 , 而手动导入方式也比较特殊 , 所以这里先大概介绍下手动导入.1 . 下载Alamofire库到本地 , 通过AddFiles方式加入程序中2 . 选择相应的Alamofire文件 , 一定要选择蓝色的.xcodeproj 3 .选择当前项目 , General 4 . Embedde

2016-11-18 10:22:19 1199

原创 Swift学习记录 - Alamofire 4.0.1网络库基本使用(持续更新...)

目前为止 , Alamofire网络库已经更新到4.0.1 , swift也逐渐趋于稳定 , 最近有空都是在学习swift方面的东西 . 这里主要写一些项目中 , 比较实用的网络请求 , 比较少用的 和最基础的就不写啦 … 大概请求参数介绍 : requestHeader : 请求头 parameters : 传递参数 method : 请求类型 URL : 请求地址 encodin

2016-11-17 17:07:29 8784 5

原创 iOS - xCode8清除控制台打印数据

xCode8后 , 程序启动会自动打印许多的数据 , 很不方便我们调试 . 解决办法是 : 1 . 选中项目target 2 . Edit Scheme3 . Run —–> 加入 OS_ACTIVITY_MODE = DISABLE

2016-11-17 15:19:14 2202

原创 iOS - iOS8常用权限请求及设置逻辑总汇

info.plist文件配置字段1 . 定位权限 : Privacy - Location When In Use Usage Description2 . 通讯录权限: Privacy - Contacts Usage Description3 . 相机权限 : Privacy - Camera Usage Description4 . 相册权限 : Privacy - Photo Libr

2016-11-14 17:09:21 3793

原创 iOS - iOS 9 前获取用户通讯录列表封装(无UI)

iOS开发中 , 获取用户通讯录一般分为两种 , 一种为有UI , 即为类似弹出手机通讯一样的列表 . 二是无UI , 即需要获取通讯录中的信息 , 然后自己搭建UI界面用于展示 , 尤其在社交类app较为常见 . 而通常情况 , 我们需要获取的是通讯录中联系人的电话和姓名.访问权限iOS 10 后苹果加强用户隐私保护 , 在info.plist文件中配置 Privacy - Contacts Us

2016-11-13 14:09:37 1174 3

原创 iOS - NSINputStream输入流的两种解决方案(适用大文件上传读取)

众所周知 , 移动端有时候挺受内存限制 , 特别是前几年还是512M时 , 如果读取一个几百M的视频 , 那么手机就直接崩溃了.. 近两年随着内存不断升级 , 情况已经好很多 , 大部分时候开发者已经不用考虑内存的问题 , 但是对于比较小众的需求 , 比如大文件上传下载 , 还是需要考虑内存的问题 , 所以需要考虑读取文件时分步读入或者以流的方式读出 . 而后台服务器也会经常要求你进行分段式上传

2016-11-08 22:45:00 9026 4

原创 iOS - 获取系统相册照片名称,路径以及各项信息

最近做的项目 , 在我看来都停偏的 , 因为需要的都不仅仅是展示和业务逻辑 , 而主要都是网络和存储,文件,流媒体操作方面的东西 . 所以今天想要获取下照片的名称 , 还找了挺久的 . 以此记录下 , 直接上代码 .首先让当前控制器遵循 UINavigationControllerDelegate,UIImagePickerControllerDelegate 这两个协议 , 并实现其方法 , 用于

2016-11-06 19:20:18 16858 1

原创 iOS - 日常小坑,图片和NSString相互转换

这几天在做一款多任务断点上传下载的功能 , 由于PC端先搭起来 , 所以很多接口或者衔接方式和移动端是没有任何沟通的 .简单来说 , 我们的上传下载是分段的 , 上传时需要将内容转换成流 , 然后自行切割 , 再转换成16进制字符串 ,再加密进行传输, 后台存储和加密也都是分段 , 下载亦是如此 . 在上传前 , 需要拿需要上传的内容请求服务器进行验证 , 期间遇到一个小坑 , 当我把图片转换成da

2016-11-03 22:23:45 1314

转载 iOS - GCD(转)

转自 http://www.cocoachina.com/cms/wap.php?action=article&id=17898 涉及信号量讲解.

2016-11-02 09:16:14 794

原创 iOS - JLRoutes路由跳转

最近新开一个项目 , 老大想把所有的跳转逻辑 , 比如push 全部抽取到一个类中 , 实现模块解耦 ,然后提到了一个叫JLRoutes的库 . 然后我开始百度 , 发现网上基本上没有任何关于这个库的资料 , 有也仅有一两篇 , 并且是完全和我想要实现的东西不着边 . 于是我github上找到源码 , 开始解读作者的解释 , 然后发现作者写这个库的初衷在于app外部跳转 , 也就是网页跳转和app

2016-10-30 19:18:52 4897 8

原创 iOS - 简述二次封装AFN,设置请求头,https安全策略

以前都是直接复制粘贴二次封装好的代码 , 现在都忘了怎么写 . 恰好当前项目要用到请求头 , 在网上学习了一下 , 统一敲了一遍 .自从到了现在公司 , 才发现要学的东西太多了 , 当然 , 有个好的老大比什么都重要… 能学到不少的东西…创建两个类 , 一个类用于封装AFN , 一个类用作返回值模型 response模型类#import <Foundation/Foundation.h>@inter

2016-10-29 19:57:13 2469

转载 iOS - Xcode8新特性以及坑

http://www.cocoachina.com/cms/wap.php?action=article&id=17830

2016-10-29 16:33:29 441

转载 iOS -开发中的HTTPS

转自 https://zhuanlan.zhihu.com/p/22749689

2016-10-29 16:29:01 437

原创 UI - 自定义MJRefresh动画 , 自定义布局

MJRefresh框架在大部分中的项目中都能见到 , 但是随时用户体验意识的增强 , 越来越多的需求被提出 . 已不完全满足于在上拉或者下拉提示简单的文字了 . 经常我们看见越来越多的App用到加载动画 .而以上的需求 , 在github上已经有全面的使用说明了 , 而唯一缺少的是自定义布局动画效果, 直接上代码吧 查看框架类 —>MJRefreshGifHeader , 继续查看继承关系 ,

2016-10-26 18:27:02 3039 1

原创 UI - 关于自动调整内边距问题的细节

iOS 7 以后 , 苹果推出了 控制器 automaticallyAdjustsScrollViewInsets 属性 , 目的在于自动帮我们调整所有继承于 scrollView控件的内边距 ,比如tableView , collectionView . automaticallyAdjustsScrollViewInsets 默认开启 .具体例子1 : 默认情况下 automatically

2016-10-24 17:47:29 2582

原创 iOS - 内联函数简述

最近看公司的项目 , 里面很多的static inline 修饰的函数 , 一脸懵比的我 , 只好百度百度 … 然后大致整理了下.什么是内联函数 ? 内联函数也是函数 , 只是用 inline修饰而已.内联函数和宏定义的区别 ?内联函数和宏非常相似 , 但是效率比宏要高 , 且安全性也要高于宏 . 宏定义 , 只是简单的表面替换 , 且替换时机为预编译处理时 . 而内联函数不一样

2016-10-24 11:45:06 885

原创 iOS - 多控制器切换(带滑动动画)

主控制器 ,管理控制器 .h文件//宏#define kScreenWidth [UIScreen mainScreen].bounds.size.width#define kScreenHeight [UIScreen mainScreen].bounds.size.height#import "MYMainViewController.h"#import "MYFirstViewCo

2016-10-23 12:53:21 3852

原创 iOS - 项目国际化 , 应用内修改app语言

在做项目中 , 如果是人群使用不那么局限的app就可能涉及到国际化问题 , 国际化 大致可以分为 代码部分国际化 , xib 和故事板国际化 , 获取权限提示国际化 (访问相册权限 , 定位权限等等..)和应用内切换语言前言 : 创建的string文件 , 如果是英文资源的文件 ,系统会生成一个en.lproj文件存放string文件 , 简体中文则是 zh-Hans.lproj文件一 . 首先 ,

2016-10-21 23:08:44 2469

图文混排(朋友圈表情文字,链接,混排)

轻量级图文混排 , 实现图片文字混排 , 可显示常规链接比如网址,@,话题等 , 可以自定义链接字,设置关键字高亮等功能 . 适用于微博,微信,IM聊天对话等场景 . 实现这些功能仅用了几百行代码,耦合性也较低 Github地址 : https://github.com/coderMyy/MYCoreTextLabel , 有详细说明, 求Star ,好人一生平安

2017-02-28

iOS录屏小软件

非常好用的小软件 , 用于模拟器效果录制特别好用

2016-10-24

空空如也

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

TA关注的人

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