![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-c
文章平均质量分 51
coderMy
人生如此 , 拿酒来 github : https://github.com/coderMyy
展开
-
图形化冒泡排序
今天晚上下班回来 , 一朋友问我想把冒泡排序图形化展示出来 , 是怎样 , 我想大概也就是肉眼比较直观的吧 .既然没说用什么语言 , OC自带方法就可以实现了 , 只是在处理view上稍微麻烦点 .#import "ViewController.h"@interface ViewController ()//存储所有的label@property (strong ,nonatomic) NSMu原创 2016-10-10 22:04:08 · 878 阅读 · 0 评论 -
iOS - xCode8清除控制台打印数据
xCode8后 , 程序启动会自动打印许多的数据 , 很不方便我们调试 . 解决办法是 : 1 . 选中项目target 2 . Edit Scheme3 . Run —–> 加入 OS_ACTIVITY_MODE = DISABLE原创 2016-11-17 15:19:14 · 2221 阅读 · 0 评论 -
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 · 3867 阅读 · 0 评论 -
iOS - block详解
最近赶项目 , 自己时间比较少 , 加上也没找到什么可写的东西 , 就写一点关于block的东西吧 . 一些细节还是值得思考的 , 基本上也把所有的情况和大致原理都罗列了一些 . 这里我们创建Person类 和ViewController类来做一些试验和比较.Person类 .h 文件#import <Foundation/Foundation.h>/** * 无返回值 可以接收参数的bloc原创 2016-12-01 09:17:13 · 456 阅读 · 0 评论 -
UI - 修改tableView多选默认蓝色选中按钮 , 全选 , 取消全选
经常会有需求 , 更改tableView多选的默认按钮颜色 , 默认为蓝色 , 很多情况下可能会根据自己项目的主题色进行修改 . 简单粗暴 , 直接上代码 . 重写Cell的布局方法 , 依次遍历子控件 , 修改默认颜色- (void)layoutSubviews{ [super layoutSubviews]; [self.subviews enumerateObjects原创 2016-12-01 09:35:50 · 3426 阅读 · 0 评论 -
iOS - 开发中监听系统键盘删除按钮 , 回车按钮小技巧
开发中, 也许我们会遇到需要监听系统键盘的删除点击 , 比如当你自定义一个表情键盘时 , 当系统键盘的删除按钮点击时 , 你也应根据正则判断去删除[]以内的表情 . 如何监听 ? 设置textField或者textView的代理 , 并实现如下代理方法 , 仅需一个判断就可以监听 , 无须KVO , 通知什么的方法.- (BOOL)textView:(UITextView *)textView s原创 2016-12-28 14:56:17 · 3010 阅读 · 0 评论 -
iOS - 下拉上拉菜单,万能菜单,适用于各种场合
Github 下载地址 :https://github.com/coderMyy/MYDropMenu , 如果有好的建议或者意见,请直接留言 1. 常规位移上拉下拉,蒙板可设置透明或半透明,可随意自定义UI样式,详情请见demo 2. 常规展开式上拉下拉,蒙板可设置透明或半透明,可随意自定义UI样式,详情请见demo 3. 常规弹簧效果上拉下拉,蒙板可设置透明或半透明,可随意自定义UI样原创 2017-02-26 23:15:02 · 9561 阅读 · 1 评论 -
iOS - 照片浏览器(图片放大,轮滑,长按操作)
项目中时常用到的图片浏览器1. 常规使用 , 照片预览,照片放大缩小 , 长按保存等操作。 2. 带有文本描述使用 github 地址 : https://github.com/coderMyy/MYPhotoBrowser 求星星 …好人一生平安原创 2017-02-23 12:50:34 · 2281 阅读 · 0 评论 -
iOS - 图文混排(支持图片文字混排,网址@#话题#以及自定义链接,关键字高亮等)
1 .普通图片文字混排 2. 带链接(@,#话题#,网址)的文字和自定义的链接的混排 3.带关键字高亮显示的混排 4. 比较复杂的用法, 包含网址链接,关键字显示,自定义链接,图片混排下载地址 : https://github.com/coderMyy/MYCoreTextLabel , 求星星…求星星…原创 2017-02-17 15:17:30 · 2482 阅读 · 0 评论 -
iOS - 压缩控制器作用范围,路径push选择
通常情况下 , 导航的作用域为整个屏幕 , 即使把view范围缩小 , 但是push的效果依然存在于全局 . 此demo将导航的作用域可以进行随意压缩 , 便可以实现在页面中的页面可以局部性的push , pop 导航控制器的压缩 , 使得可以将导航范围缩小到指定区域 , 实现页面中的页面效果 . 适用于路径选择,文件选择等 , 求STAR…原创 2017-03-23 20:25:27 · 497 阅读 · 0 评论 -
iOS - OC字典底层实现模拟(数组+链表)
OC中的字典实际上为一个数组 , 数组中的每个元素同样为一个链表实现的数组 ,也就是数组中套数组。为什么要这么设计 ?原因有二: 1. 每个对象创建时,都默认生成一个hashCode ,也就是一个经过哈希算法生成的一串数字 。当利用key去取字典中的value时,若是使用遍历或者二分查找等方法,效率都相对较低 ,于是出现了根据每个key生成的hashCode将该键值对放到hashCode对应的数组原创 2017-05-01 00:51:58 · 5972 阅读 · 0 评论 -
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 · 1347 阅读 · 0 评论 -
iOS - 将应用加入浏览器分享列表及交互
https://my.oschina.net/vimfung/blog/707448转载 2017-05-02 10:49:44 · 2330 阅读 · 4 评论 -
iOS - webSocket讲解
http://www.cocoachina.com/ios/20170522/19327.html转载 2017-05-23 11:12:28 · 736 阅读 · 0 评论 -
iOS - 基于CocoaAsyncSocket搭建完整的IM体系大体思路详解
想要搭建一个完善 ,且自定义程度较高 , 又便于后期维修和修改的IM体系 , 采用环信或者融云等实际上是非常消耗精力和时间的 ,因为他们做得也不完善 . 目前咱们已知的通信协议大概有MQTT , XMPP等 .. 然而 , 通信协议是别人制定好的规则 , 想要不受约束 , 就需要自定义一套属于自己的通信协议 . 其实通信协议并不难 , 无非就是iOS端,安卓端,web端和服务器共同协商一套,大原创 2017-04-24 18:16:36 · 5692 阅读 · 1 评论 -
iOS - GCD(转)
转自 http://www.cocoachina.com/cms/wap.php?action=article&id=17898 涉及信号量讲解.转载 2016-11-02 09:16:14 · 805 阅读 · 0 评论 -
iOS - JLRoutes路由跳转
最近新开一个项目 , 老大想把所有的跳转逻辑 , 比如push 全部抽取到一个类中 , 实现模块解耦 ,然后提到了一个叫JLRoutes的库 . 然后我开始百度 , 发现网上基本上没有任何关于这个库的资料 , 有也仅有一两篇 , 并且是完全和我想要实现的东西不着边 . 于是我github上找到源码 , 开始解读作者的解释 , 然后发现作者写这个库的初衷在于app外部跳转 , 也就是网页跳转和app原创 2016-10-30 19:18:52 · 4917 阅读 · 8 评论 -
iOS - iOS 9 前获取用户通讯录列表封装(无UI)
iOS开发中 , 获取用户通讯录一般分为两种 , 一种为有UI , 即为类似弹出手机通讯一样的列表 . 二是无UI , 即需要获取通讯录中的信息 , 然后自己搭建UI界面用于展示 , 尤其在社交类app较为常见 . 而通常情况 , 我们需要获取的是通讯录中联系人的电话和姓名.访问权限iOS 10 后苹果加强用户隐私保护 , 在info.plist文件中配置 Privacy - Contacts Us原创 2016-11-13 14:09:37 · 1195 阅读 · 3 评论 -
iOS - 项目中App版本更新逻辑 , 操作
iOS本身自带自动更新 , 前提是用户设置了更新 .但是有用户可能暂时性的 , 或者无意关掉了更新 . 那么当app已经有新版本时 , 应当给用户一个友好的提示 , 表示我们版本有新的了 , 让其选择更新或者忽略 . 本地对版本号进行存储 , 当用户更新版本后 , 展示新版本特性 , 而新版本特别 一般只需在更新完版本后 展现依次 .所以 , 逻辑如下: //1.获取上次登录版本号原创 2016-10-21 21:03:03 · 1188 阅读 · 0 评论 -
iOS - 项目国际化 , 应用内修改app语言
在做项目中 , 如果是人群使用不那么局限的app就可能涉及到国际化问题 , 国际化 大致可以分为 代码部分国际化 , xib 和故事板国际化 , 获取权限提示国际化 (访问相册权限 , 定位权限等等..)和应用内切换语言前言 : 创建的string文件 , 如果是英文资源的文件 ,系统会生成一个en.lproj文件存放string文件 , 简体中文则是 zh-Hans.lproj文件一 . 首先 ,原创 2016-10-21 23:08:44 · 2507 阅读 · 0 评论 -
iOS - 自定义转场动画
经常在项目中 , 我们会用到一些下拉菜单 , 或者上弹菜单等 . 简单的做法就是加一层蒙板 , 自定义一个view , 写一下动画就完成了 . 但是这样写的话 , 首先是比较low , 其次是性能略有损耗 , 且比较杂乱 . 其实在iOS中 , 如果是iPad开发的 , 苹果直接就有提供PopoVerController使用 . 如果是iPhone呢 , 也可以通过重写类 , 来实现 #impor原创 2016-10-18 22:49:35 · 544 阅读 · 0 评论 -
iOS - 多控制器切换一(巧用tabbarController)
多控制器切换在项目中应用十分广泛 , 市面上的大部分app都能见到其身影 . 首先我认为 , 多控制器的切换 , 应尽量避免一次性加载所有的控制器页面 , 造成内存飙升 , 应尽量满足用到时加载 , 不用时不加载 . 当然也不乏有例外 , 有的时候为了更好的用户体验 , 而页面又较少时 , 可以一次性加载完毕 , 给用户造成一种切换页面加载迅速,不卡顿的假象 , 具体还是看项目需求. 之前原创 2016-10-10 14:09:13 · 5460 阅读 · 0 评论 -
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 · 3885 阅读 · 0 评论 -
iOS - 日常小坑,图片和NSString相互转换
这几天在做一款多任务断点上传下载的功能 , 由于PC端先搭起来 , 所以很多接口或者衔接方式和移动端是没有任何沟通的 .简单来说 , 我们的上传下载是分段的 , 上传时需要将内容转换成流 , 然后自行切割 , 再转换成16进制字符串 ,再加密进行传输, 后台存储和加密也都是分段 , 下载亦是如此 . 在上传前 , 需要拿需要上传的内容请求服务器进行验证 , 期间遇到一个小坑 , 当我把图片转换成da原创 2016-11-03 22:23:45 · 1343 阅读 · 0 评论 -
Swift学习记录 -- 14.闭包的使用和解决循环引用方法
Swift中的闭包 , 几乎和OC中的block一模一样 , 我个人又比较偏好block , 所以觉得闭包还是蛮不错的 . 在循环引用问题上 , 解决方案也更加简洁// HttpTool类import UIKitclass HttpTool: NSObject { //闭包写法 : (参数列表) -> (返回值类型) func loadData(callBack:(jsonData:原创 2016-10-03 17:56:18 · 449 阅读 · 0 评论 -
Swift学习记录 -- 9.元组的基本使用
元组是Swift中的一大特性 , 也是我自己非常喜欢的一个新增类型 . 元组就好像是一个含纳巨大信息的一个数据体 , 通俗易懂 , 一般是作为返回值的方式使用 . 和数组 , 字典 比较相似 //1.使用数组定义一组数据 let person = ["zhangsan",18,1.88] //取值 person[0] pe原创 2016-10-02 17:08:37 · 506 阅读 · 0 评论 -
iOS - NSINputStream输入流的两种解决方案(适用大文件上传读取)
众所周知 , 移动端有时候挺受内存限制 , 特别是前几年还是512M时 , 如果读取一个几百M的视频 , 那么手机就直接崩溃了.. 近两年随着内存不断升级 , 情况已经好很多 , 大部分时候开发者已经不用考虑内存的问题 , 但是对于比较小众的需求 , 比如大文件上传下载 , 还是需要考虑内存的问题 , 所以需要考虑读取文件时分步读入或者以流的方式读出 . 而后台服务器也会经常要求你进行分段式上传原创 2016-11-08 22:45:00 · 9084 阅读 · 4 评论 -
iOS - Xcode8新特性以及坑
http://www.cocoachina.com/cms/wap.php?action=article&id=17830转载 2016-10-29 16:33:29 · 454 阅读 · 0 评论 -
iOS -开发中的HTTPS
转自 https://zhuanlan.zhihu.com/p/22749689转载 2016-10-29 16:29:01 · 450 阅读 · 0 评论 -
iOS - 内联函数简述
最近看公司的项目 , 里面很多的static inline 修饰的函数 , 一脸懵比的我 , 只好百度百度 … 然后大致整理了下.什么是内联函数 ? 内联函数也是函数 , 只是用 inline修饰而已.内联函数和宏定义的区别 ?内联函数和宏非常相似 , 但是效率比宏要高 , 且安全性也要高于宏 . 宏定义 , 只是简单的表面替换 , 且替换时机为预编译处理时 . 而内联函数不一样原创 2016-10-24 11:45:06 · 911 阅读 · 0 评论 -
iOS - 简述二次封装AFN,设置请求头,https安全策略
以前都是直接复制粘贴二次封装好的代码 , 现在都忘了怎么写 . 恰好当前项目要用到请求头 , 在网上学习了一下 , 统一敲了一遍 .自从到了现在公司 , 才发现要学的东西太多了 , 当然 , 有个好的老大比什么都重要… 能学到不少的东西…创建两个类 , 一个类用于封装AFN , 一个类用作返回值模型 response模型类#import <Foundation/Foundation.h>@inter原创 2016-10-29 19:57:13 · 2490 阅读 · 0 评论 -
iOS - 获取系统相册照片名称,路径以及各项信息
最近做的项目 , 在我看来都停偏的 , 因为需要的都不仅仅是展示和业务逻辑 , 而主要都是网络和存储,文件,流媒体操作方面的东西 . 所以今天想要获取下照片的名称 , 还找了挺久的 . 以此记录下 , 直接上代码 .首先让当前控制器遵循 UINavigationControllerDelegate,UIImagePickerControllerDelegate 这两个协议 , 并实现其方法 , 用于原创 2016-11-06 19:20:18 · 16912 阅读 · 1 评论 -
iOS - MQTT
http://www.jianshu.com/p/bcf0251dc181转载 2017-06-20 11:51:38 · 529 阅读 · 0 评论