自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CodingFire的博客

君子戒慎乎其所不睹,恐惧乎其所不闻。莫见乎隐,莫显乎微,故君子慎其独也。

  • 博客(388)
  • 资源 (4)
  • 收藏
  • 关注

原创 iOS开发 - 仿京东添加收货地址效果

先来说说她的工作原理:我们常见的地址选择是picker对吧?很多都是,基本上是根据公安部公布的API获取到的全国省市区街道的信息,组装成一个picker,然后通过picker的代理方法一步步展示出来。但是有些平台并不支持全国的配送,所以他们只列出支持的地区,而且还会根据当地增加新区来动态改变地区信息,这就导致我们不能使用网上组装好的plist地区信息,每一步都需要重新来获取,于是乎,京东这种模式就出

2017-07-25 09:50:11 8119

原创 iOS开发- 添加地址从通讯录中选择添加(firstName,lastName真机为nil,模拟器正常)

如图所示,即为博主今天要说的功能,想必很多app都有出现,大家也见过类似的功能,网上的代码也是属于烂大街的东西,随便一搜就有一箩筐,这是博主的代码:在使用下面代码之前,需要先引入:#import <AddressBookUI/ABPeoplePickerNavigationController.h>#import <AddressBook/ABPerson.h>#import <Address

2017-07-25 09:48:42 1707

原创 iOS开大 - viewWithTag找不到对应的按钮,而是父视图本身

viewWithTag常用度很高,经常用来找取某个对应的视图,但是有时候偶然发现系统崩溃,以UIButton为例,通过tag找到这个按钮,设置selected = YES,但是报错说类型不匹配,是不是觉得一脸懵逼?这个时候要注意的是你设置的tag的区间,苹果声明默认保留0-100tag的使用权,所以当你看到这里有没有觉得很恐怖,自己以前写的时候根本不知道还有这一说,竟然幸运的没有出问题,既然你看到了

2017-06-30 16:50:07 1651

原创 iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种

当你出现以上报错时,仔细看报错信息,一般来说缺少静态库,其他的类似的多半是头文件路径不对或者文件名重复。下面来说关于静态库的情况; 1.像支付宝,微信这样的SDK,引入时缺少了.a静态库,这种的检查一下,如果是的,最好解决,重新引入,但是引入时注意正确勾选: 2.路径不对,怎么删除添加路径,不用多说了吧,多余的删除,需要添加的$(SRCROOT)/xxxxxx,还有一种更简便的方法,删除这个文件

2017-06-30 16:43:46 1890

原创 iOS开发 - 七鱼SDK3.7.0,20170525更新的SDK,存在SDWebImage冲突的大坑

如题,不知道你遇到没有,七鱼在2017年5月25号更新的SDK3.7.0存在SDWebImage的冲突,坑惨博主了,倒腾了好几个小时,表示没办法,中途有问七鱼的客服这个问题,客服搞笑的说让我用eclipse导入,我是iOS啊大哥,反复说明我是iOS,还要我用eclipse导入,我好方,还认真的让我试一下,我的尴尬症都要犯了。后来用pods导入后发现编辑通过了。早上在我们七鱼支持群里问了他们技术,给了

2017-06-01 10:09:51 1280

原创 iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性

苹果本着为用户安全考虑的初衷导致UDID和Mac地址相继阵亡,IMEI也不例外,为了设备的唯一性,一代代开发者绞尽脑汁,后来KeyChain被他们瞄上了,终于可以继续判别社别的唯一性。原理是利用UUID,有人说,UUID是非唯一的,很容易变化,对,没错,但是UUID绝对不会重复对吧?所以UUID我只需要获取一次,然后存入KeyChain,即使App被删除了,KeyChain中的UUID也不会被删除,

2017-05-24 18:09:56 1177

原创 iOS开发 - Object-C中如何使用多维数组

多为数组,我想只要是学过高数的人都听说过,也都用过,在程序中,多维数组也经常出现,大学里很多人都学过简单的c语言,在c语言中多维数组是这样的:int a[][];我们一般都会定义其范围;但是在Object-C中,并没有多维数组这一概念,即使Object-C兼容c语言,c的多维数组也满足不了iOS的类型需要(博主c已经忘得差不多了,说的不对,还望指正),所以不可能用c的写法来适用iOS。当多维数组出现

2017-05-24 16:49:32 3525

原创 iOS开发 - 什么样的情况可以通过快速审核&&快速审核的坑

App上线后突然发现大bug,闪退,内容不显示,而且是代码层次的问题,怎么破,紧急提交新版本?这个时候,很多开发者想到去申请快速审核,怎么快速审核就不说了,快速审核分三种: 1.敏感事件; 2.bug修复; 3.其他;1.敏感事件 什么事情算是敏感事件呢? 要搞活动,赶在XX节日到之前,或者其他紧急的事件需要快速上线投入使用,不过据博主所知,极少能通过这个理由上线的,博主最近=赶端午节,连

2017-05-18 14:15:33 1005

原创 iOS开发 - 若把上线版本下架,重新提交新的版本,通过审核后显示下架状态

如题,当你把之前的版本下架后,重新提交了一个包到App Store,显示审核的各种状态,但是当通过审核后,你发现自己的app是下架状态,显示被开发人员下架。不要慌,那是因为你的app保持了之前的下架状态,在iTunes Connect中找到你的app,在价格与销售范围中,选择在所有地区供应,点击保存即可上线,1-2小时后可在App Store中搜索下载。

2017-05-18 13:54:46 4765

原创 iOS开发 - 内测的坑

当我们要开发一款iOS应用,内测在所难免,在内测过程中我们要加入测试手机的udid,然后才能给该手机装上app,以前一直没留意一个问题:加入udid后,是否更新配置文件。博主的包放到了fir.im上面,虽然加入了对应手机的udid,但是该手机依然无法下载包,作为一名iOS开发的老司机,脸火辣辣的,以前没留意过这个事,忽然不知道咋回事,显示配置文件报错,仔细一看,是配置文件没有包含对应的手机udid,

2017-05-16 14:12:06 704

原创 iOS开发 - 关于枚举

枚举在开发中作用很大,多用来表示状态,选项,状态码。我们知道Object-C是基于C的,所以C的功能它都有,枚举类型就是其中的一个,枚举是一种常量命名方式,一个对象所经历的各种状态可以定义为一个枚举集。比如表示一天中吃饭的状态:enum EatSomething { EatBreakfast, EatLunch, EatDinner,};但是这么写在代码中定义枚举的方式却不

2017-03-28 10:47:39 1175

原创 iOS - 巧用字面量语法

在编写代码时,总会遇到一些Foundation框架的类,分别是NSString,NSNumber,NSArray,NSDictionary。如你所见是我们最最经常用到的几个类,众所周知Object-C的语法友好中透露的是繁杂,所以现在有Swift来简化,但Swift还远没有Object-C成熟,这里只说字面量,为了简化这些Foundation框架的类,所以尽可能的使用字面量。字面数值 为了把整数,

2017-03-24 16:03:40 747

原创 Swift和OC控制器互相跳转

碰到一个swift的项目,博主要用OC来进行重构,但是考虑到时间的问题,里面几大功能模块打算直接抑制到项目里,这里要考虑Swift和OC之间界面的互相跳转,也是混编。 Swift中使用OC使用桥接文件,可以查看http://blog.csdn.net/codingfire/article/details/51880516在OC中使用Swift文件博主还真不知道,查了下,具体说明如下:假设我有一个类

2017-03-23 14:57:58 4447

原创 extern,const,#define

要做一个全局,您会怎么写?大多数开发者都会首选#define来定义一个全局参数,如数字,字符串,可是当你了解足够深,你会发现#define定义的参数是没有类型的,但是在使用的时候你发现+-*/是没有问题的,因为#define宏在预处理时只是实现了替换了,具体的运算是在编辑时才完成的。这里推荐一种写法:const(不可变量)static const int count = 10;这样写的好处就是可以直

2017-03-23 14:00:19 588

原创 iOS开发 - 如何写出漂亮的block

Block具有快速传值,简化代码的作用,但是在实际使用中如何写出漂亮的block却不是那么简单的事,就拿博主来说,虽然block经常用,但是奉行者拿来主义却总是不用心记忆写法,对于一个专业的开发者来说,这就落了下乘,索性回头看了下block,对于block又有了新的认识,下面博主通过代码来介绍下如何写出漂亮的block: //有返回值的block int (^sumBlock)(int

2017-03-09 16:45:31 1502

原创 Mac隐私中没有显示任何来源

在安装一些网络下载的软件时,需要对软件进行授权,否则会提示文件已损坏无法安装,但是你发现最新系统上隐私中没有允许“任何来源”这一个选项,原来还有的,突然就不见了,解决这个问题,在控制台输入以下编码:sudo spctl --master-disable回车即可,然后允许任何来源就有了。

2017-03-01 17:17:30 4287

原创 iOS开发 - 解析tabbar中的凸起按钮

你是否看到过这样的tabbar: 中间是一个凸起的tabbar,一开始博主这么想的: 1.在tabbar上增加一个按钮,但是我们知道,如果按钮大小超出superView的范围将会失去响应,这里要注意,只是超出去的部分失去响应,未超出部分依然响应。也许不少人都这么想过,但是在实际操作中会被pass掉。 2.封装tabbar的时候让tabbar高度高一些,虽然解决了问题,但实际上在突出部分到正常按

2017-02-17 17:31:47 2993

原创 iOS开发 - 封装一个自己的按钮

有时候,你会看到设计出来的界面某个位置可点击,但是直接用按钮又无法控制几个元素的关系,这个时候与其用多个控件组合出来这样的按钮不如自己封装一个来的快,还可以重复使用。虽然也需要计算元素的位置大小,但是多次使用的特性对于代码的优化起到至关重要的作用,看看博主要写的按钮长什么样:这样一长条的可点击区域,左右线条长短一致且垂直居中,中间为logo和对应标题,且多个按钮的情况下按钮长短一样,线条根据内容长短

2017-02-08 17:36:15 2666 1

原创 iOS开发 - placeholder偏上的问题

[_phoneNum setValue:[UIFont systemFontOfSize:13] forKeyPath:@"_placeholderLabel.font"]; [_phoneNum setValue:[UIColor colorWithRed:0.51f green:0.51f blue:0.51f alpha:1.00f]forKeyPath:@"_placeholderL

2017-02-06 15:34:06 3365

原创 MySQL - 分组,排序,取出单独的年月日

分组mysql> select sal from test4 group by testname;找出所有分组中薪资最少的并在各组最少的中找出大于500的//这里最大最小的就不说了,看一下就懂,注意having是筛选的函数mysql> select min(sal),testname from test4 group by testname having min(sal)>500;取出单独的年,月

2017-01-19 15:17:16 1720

原创 MySQL - 替换,大小写,拼接,取几位,长度

//取第一位字符substring(catName,1,1)//转大写upper(substring(catName,1,1))//转小写lower(substring(catName,1,length(catName)))//拼接concat("","",""),前两个参数是需要拼接的字符串,最后一个为以什么拼接比如:mysql> concat("a","b","===")mysql

2017-01-18 14:34:09 1556

原创 MySQL - 新增一列和查找主键

新增一列,可为nullmysql> alter table mydate add column sex varchar(10); 不可为nullmysql> alter table mydate add column name varchar(50) not null;添加到谁后面mysql> alter table mydate add column sal varchar(10) after n

2017-01-16 17:51:13 1556

原创 MySQL数据库 - 查找距今超过10年的年份数据

datediff并不好用,原谅我不会用。查找距今超过10年的年份数据mysql> select * from mydate where timestampdiff(year,bir,now())>10;附: 年份区间内:mysql> select * from mydate where bir between '1900-1-1' and '1999-12-31';

2017-01-16 16:39:23 4846 4

原创 iOS开发 - 柱状图动态展现动画

先来看看效果,正反变化都有: 这里博主用了组动画的方式,通过两种转换来完成: 1.通过bounds和position 2.通过transform.scale.y和position通过bounds和position1.创建一个layer CALayer *itemLayer = [CALayer layer]; itemLayer.frame = CGRectMake(50, 100,

2017-01-13 17:15:32 2937

原创 iOS开发 - swift通过Alamofire实现https通信

https相关 先推荐博主用OC实现的https通信: iOS开发 - 用AFNetworking实现https单向验证,双向验证 http://blog.csdn.net/codingfire/article/details/53419521本文信息来源于http://www.hangge.com/blog/cache/detail_1052.html,不错的一个网址。实现了OC的https

2017-01-12 11:44:07 5920

原创 MySQL - check使用

在使用MySQL时,不经意用到了check来约束,结果发件加不加check没区别,所以就查找了下资料,发现MySQL目前不被支持,这么说MySQL的路还有很长啊。但是如果想要用到的话,网上提供了两种方法: 1.使用枚举,不过博主在试了下,要实现限制范围,就必须把这个范围内的所有数写进枚举,实际开发中,这无疑是不可取的,范围小的时候可考虑; 2.使用触发器,每一个表中,触发器有且只能有一个 CRE

2017-01-09 14:13:06 6492

原创 iOS开发 - 用AVPlayer封装一个播放器

因为GIF上传的时候一直失败,所以大家到Github查看效果图 播放器基本功能:视频播放和缓存(不支持流播放);双击屏幕全屏和竖屏;快进快退;滑动调节屏幕亮度和系统声音;全屏按钮和返回按钮;进度条拖动和点击定位播放;完美适配横竖屏;打断机制和监听机制;dealloc;总结;1.视频播放和缓存(不支持流播放);创建播放器: // 3.playerItem关联创建player

2016-12-29 17:33:28 3228

原创 iOS开发 - 数字快速变化到指定数字

这样的功能在很多地方都有见过,所以就用线程队列里的数据源来实现了下,看下代码:- (void)countJumpAction{ __block int _numText = 0; //全局队列 默认优先级 dispatch_queue_t quene = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,

2016-12-28 11:56:11 2133

原创 iOS开发 - 数字跳变器

灵感来自于我家的电热水器,每次打开都能看到温度从0跳到100然后再固定到实际温度,所以博主就模拟了一个: - (void)countJumpAction{ __block int _numText = 0; //全局队列 默认优先级 dispatch_queue_t quene = dispatch_get_global_queue(DISPATCH_QUEUE_PR

2016-12-28 11:47:05 1515

原创 iOS开发 - 使用IJKPlayer时,关于需求要边下边播的缓存功能,退回来后播放缓存不再耗流量

博主以前做的项目,使用的流播放,rtmp,基于bilibili的ijkplayer,想必大家都有用过或者听过,是一个很不错的开源的直播,播放流视频的播放器,后面又有了一批需求,客户要求我们做一个缓存功能,就类似于迅雷那样的,边看边缓存,退到缓存的地方播放缓存,不再重新加载。用过迅雷的小伙伴都清楚的哈,然后博主就跑到bilibili的github下面提问题了,然后坐着也很热心的进行了回答,总之意思就是

2016-12-23 14:44:56 10662 4

原创 iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)

如图,左侧上下滑动改变亮度,右侧上下滑动改变音量。 1.改变屏幕亮度 //获得当前屏幕亮度 light = [UIScreen mainScreen].brightness; light = 0.5f; //直接赋值或者使用set方法皆可 [UIScreen mainScreen].brightness = light;2.改变系统音量 使用的比较多的就是通过M

2016-12-22 10:13:10 4209 2

原创 Java - Mac上创建数据库表如何创建到指定的数据库中,此处有坑,已填

初识数据库时,对数据库的理解就是增删改查,对应的语句不再说明,这里只说创建表时如何创建到指定的数据库。博主使用的是SQL Server数据库和Navicat Premium可视化界面,在Navicat Premium中创建数据库,如果你想通过可视化界面来创建,需要在哪个数据库中创建表就在哪个数据库中通过按钮来操作,如果要通过命令行,那就在对应数据库上右键选择Console来指定到某个特定数据库:

2016-12-20 14:27:32 1330

原创 iOS开发 - 渐变导航栏终极版

渐变导航栏初级版本:http://blog.csdn.net/codingfire/article/details/51604098 渐变导航栏升级版本:http://blog.csdn.net/codingfire/article/details/53705318以上是博主写的渐变导航栏的进化之路,上一篇博客最后说明了升级版中的bug,在这一版中对这一bug进行了修复,其实很简单,就是增加了一个

2016-12-17 11:52:37 1735

原创 iOS开发 - ScrollView滚动时怎么判断滚动停止及滚动的方向

上一篇博客渐变导航栏中,在渐变的过程中需要判断滚动的方向,滚动停止,改变方向,这篇博客,博主将对这三个问题分别进行说明。1.判断滚动停止 先看下代码:- (void)scrollViewDidScroll:(UIScrollView *)scrollView{currentPostion = scrollView.contentOffset.y;[NSObject cancelPrevious

2016-12-17 11:31:37 11348

原创 iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)

博主以前发过一篇渐变导航条的,地址:http://blog.csdn.net/codingfire/article/details/51604098但是在中部滚动的时候不能实现渐变,类似的好的效果在百度贴吧里出现过,所以博主对那个Demo进行了改进,看下效果: 这里加上了对向上向下和改变方向时的位置的判断,下面看下代码:#import "ViewController.h"@interface Vi

2016-12-17 11:01:48 1398

原创 iOS开发 - 需要加密key的SHA256和MD5加密

如果你们在加密的时候,后台告诉你,用哈希算法或者MD5算法,然后用加密key来加密,你可能会一脸懵逼,博主也是第一次听说哈希加密要用加密key,为了弥补下知识空缺,博主就在网上查找资料,结果找到了这个东西:消息摘要算法。消息摘要算法我们通常在遇到的时候会看到“HMAC”字眼,mac(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法

2016-12-13 14:10:19 4105

原创 Java-读取本地txt文件的问题

最近看到文件操作,偶然看到在读取的过程中略有不同,遂在这里简单的来解析下两种方法的不同之处: 其一:这是在网上普遍看到的方法,来说下while中的条件,lineTxt为读取到的内容的承载对象字符串,bufferedReader.readLine()为读取到的内容,内容不为null说明还没有读取完,当读取结束后为null,退出while循环。这里关闭文件是在读取结束后就执行的,博主认为不太妥当。 p

2016-12-12 11:41:48 5781

原创 iOS开发 - 使用UISearchController跳转新控制器时搜索框依然出现

最近偶遇一个问题,当使用UISearchController来push一个新的界面时,push成功后搜索框依然存在,不知道是不是苹果的一个bug,但是可以通过增加一句代码来解决: self.definesPresentationContext = YES;那么这句话什么意思呢? definesPresentationContext这是一个布尔变量,表示该视图被覆盖时,视图或者它的子类提供了一

2016-12-09 14:25:50 5748 1

原创 iOS开发 - 用AFNetworking实现https单向验证,双向验证

这里写链接内容自苹果宣布2017年1月1日开始强制使用https以来,htpps慢慢成为大家讨论的对象之一,不是说此前https没有出现,只是这一决策让得开发者始料未及,博主在15年的时候就做过https的接口,深知此坑之深,原因就是自身对这方面知识不了解加上网上的资料少,除此外还有博客不知对错就互相转载,导致当时网上几乎找不到能用的代码,这一点,博主说的毫不夸张。鉴于此,博主一直想填一下这个坑,多

2016-12-01 11:21:50 9639 7

原创 iOS开发 - 设置placeholder无效?

平日里设置placeholder并没有注意过,近日发现设置的placeholder颜色没了,查证后才发现,并不是方法无效了,而是位置关系:[textField setValue:[UIColor orangeColor] forKeyPath:@"_placeholderLabel.textColor"];textField.placeholder = @"请输入账户名";我这么写是无效的,但是这两

2016-11-30 10:24:31 3298

LinkedList源码

LinkedList源码

2022-12-29

REPEAT程序题目文件

REPEAT程序题目文件

2022-08-31

sensors.zip

flutter重力感应+陀螺仪

2021-02-04

rxdart使用要义

rxdart使用要义

2020-12-31

user_center.zip

一个用Flutter实现的个人中心带角标布局和单例使用的方法,博客中有讲解使用方法。欢迎下载学习。。

2020-08-10

自定义UIAlertView

自定义UIAlertView

2016-05-27

空空如也

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

TA关注的人

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