自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Escape This Moment

想起来就更一下#- -!

  • 博客(114)
  • 收藏
  • 关注

转载 Vuex中mutations和actions的区别

区分 actions 和 mutations 并不是为了解决竞态问题,而是为了能用 devtools 追踪状态变化。事实上在 vuex 里面 actions 只是一个架构性的概念,并不是必须的,说到底只是一个函数,你在里面想干嘛都可以,只要最后触发 mutation 就行。异步竞态怎么处理那是用户自己的事情。vuex 真正限制你的只有 mutation 必须是同步的这一点(在 re

2017-08-23 14:33:42 17262 1

原创 ES6 export和export default的区别

在ES6中export和export default均可用于导出文件、常量、模块、函数等,在导入这些文件时需要配合 import 使用。在一个文件中可以存在多个export,但只能存在一个export default:// export导出用法:export function a () {}export const name = 'Ycz';// export导入用法(导入实例需带

2017-08-22 11:07:21 1005

原创 Vue2.0生命周期

beforeCreate: 此时$data和$el都不存在1.遍历data所有属性,通过Object.defineProperty把这些属性全部转为getter/setter,并通过watcher(每个vue实例都会有一个)对属性Observe记录为依赖。2. 初始化各种event。created:此时$data已经存在,$el还不存在检查是否有el选项,有的话检查是否

2017-08-18 12:01:41 461

原创 Vue开发环境下调用接口跨域问题

需在工程目录config/index.js内对proxyTable项进行如下配置:proxyTable: { '/api': { target: 'http://xxxxxx.com', changeOrigin: true, pathRewrite: { '^/api': '' } }

2017-08-17 14:23:40 5517

原创 ES6 Promise

Promise通常用来处理异步操作,将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。Promise提供一个构造函数来生成promise实例,promise实例生成以后,可以用then方法分别指定resolve方法和reject方法的回调函数。var promise = new Promise(function (resolve, reject) { //此处进行异步操作,

2017-08-16 14:29:10 395

原创 Javascript基础

1. js没有块级作用域,只有函数作用域,函数是js中唯一有自己作用域的数据结构。例:function test() {for(var i; i//块内}console.log(i)}test(); //结果输出 5,说明js没有块级作用域。补充:如果想让js拥有自己的块级作用域,可利用函数作用域的机制,改为:function test() {(fu

2017-05-26 11:17:56 309

原创 如何用两个栈形成一个队列

了解栈和队列的结构特性:栈:栈结构类似洗衣服往滚筒里装衣服,一件一件往筒里装,先放进去的衣服取得时候最后才能取出来,栈结构内的元素遵循FILO原则(先进后出),需要一个指针来控制最后入栈的元素即可。队列:队列结构遵循FIFO原则(先进先出),所以需要两个指针来确定队列首部和尾部元素来控制入队和出队的元素。两个栈形成一个队列的核心就是用栈先进后出的结构构造出队列先进先出的结构(确定队列的

2016-08-26 11:59:06 2302

原创 属性修饰符

ARC 对象默认属性修饰符:@property (atomatic, readwrite, assign, strong) id object;weak  assign区别:举个栗子

2016-08-25 17:29:02 581

原创 创建Pch文件

1.创建pch文件2.指定使用的pch文件路径

2016-08-08 15:31:42 375

原创 CoreData版本迁移(二)

默认迁移方式适用场景:新版本的某项数据是旧版本某项数据映射得到的,但实体名字不相同。操作步骤:注:上面文章提到在轻量级迁移加载Store时配置options时添加了NSInferMappingModelAutomaticallyOption:@YES,为了确定映射模型是不是在使用并能正常运行,建议先禁用该选项。1.选中Model.xcdatamodeld文件,点击上方菜单栏的F

2016-07-25 23:51:39 342

原创 CoreData版本迁移(一)

轻量级迁移符合下面情况的数据迁移为轻量级迁移:1.添加、删除实体2.修改原有实体的属性(增加、删除、修改)适用场景:在版本迭代中为了满足新需求数据库的表结构可能会发生改变,这时就需要一个新的表结构来替换旧的表结构,但是如果直接在原有的可视化托管对象模板模型(Model.xcdatamodeld)上修改会导致应用崩溃(原因在最后的说明解释)。迁移方法:1.选中Mo

2016-07-25 00:43:54 1058

转载 nil、Nil、NULL与NSNull的区别

1.nil指向一个对象的指针为空 在objc.h中的定义如下所示:#ifndef nil# if __has_feature(cxx_nullptr)#   define nil nullptr# else#   define nil __DARWIN_NULL# endif#endif在Objective-C中用于id类型的对象NSString *name

2016-07-19 19:44:42 280

原创 OC基础知识

1.NSArray内元素以nil结束。  例如:NSArray *array = [NSArray arrayWithObjects:                      [[NSObject alloc] init],                      [NSNull null],                      @"aaa",           

2016-07-19 19:39:30 304

转载 git、github、gitlab之间的关系

Git - 版本控制工具 Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等 GitLab - 基于Git的项目管理软件Git分布式版本控制系统Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git - 版本控制工具Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到

2016-07-13 10:47:39 17533 1

原创 获取URL中的某个参数/删除URL中的某个参数

1.获取URL中的某个参数:- (NSString *)getParameter:(NSString *)parameter urlStr:(NSString *)url {        NSError *error;    if (!url) {                return@"";    }    NSString *regTags=[[

2016-07-06 11:23:56 4180

原创 ios开发release、develop、adHoc证书区别

1.release是上线时用的,可以理解为没有那些类似“NSLog那些调试时写的打印信息”。2.develop是开发时用的,debug的版本带调试信息。3.adHoc打测试版本用的,允许用户从第三方下载该应用。

2016-06-27 11:30:11 16682

原创 pods添加的第三方库导入头文件不联想

解决方法:点击Targets->Build Setting->Search Paths->User Header Search Paths添加$(PODS_ROOT)字段,并把右边的no-recursive改成recursive:

2016-06-24 16:20:50 599

转载 cocoaPods使用

ruby环境的安装、cocoapods的安装、

2016-06-17 11:54:51 268

转载 UIView的maskView属性

想改变一个view的透明度可以直接改变alpha,还可以设置该View的maskview来实现。UIView有一个maskView属性(遮罩),这个属性是通过改变alpha通道来改变透明度的,可以理解为maskview将自己“投影”到view上,实现改变alpha一样的效果。1.设置了遮罩属性后view只显示和遮罩重叠的区域。2.通过改变遮罩的alpha和颜色实现透明、半透明的效果。

2016-06-16 14:59:40 3226

原创 代码创建纯色UIImage

在设置UIButton的点击态和正常态时,button的背景颜色会有区分,调用方法[button setBackgroundImage:(UIImage *) forState:(UIControlState)]就能设置不同状态时的button的背景颜色,但是Background参数需要的是UIImage,这时就可以代码来写一个纯色UIImage。  UIGraphicsBeginImageC

2016-06-16 11:47:09 812

原创 各版本iphone重要参数

iphone6:iphone6s:iphoneSE:

2016-06-16 10:28:49 984

原创 UIViewController生命周期

我们一般不会去重写控制器的init方法,如果重写了控制器的init方法,不能在init方法里调用self.view,此时self.view = nil。        控制器里的self.view是通过懒加载的方式创建的,self.view会调用view的getter方法,在这个getter方法里首先会判断这个view是否存在,如果不存在就会调用[load view]方法,在[load vie

2016-06-15 18:32:44 374

原创 LaunchImage、LaunchScreen

IOS8推出LaunchScreen特性,只需在LaunchScreen.xib或者LaunchScreen.storyBoard中添加图片文件就能设置启动图;IOS8之前要做启动图需要添加LaunchImage,并且LaunchImage兼容IOS8及更后面的版本,如果应用需兼容IOS8之前的版本需使用LaunchImage来设置启动图。注意:如果使用LaunchImage,必须让U

2016-06-12 11:18:13 642

原创 设置透明NavigationBar

设置透明navigationBar时窗口内的视图没有延伸到bar下面(距上64,状态栏和navigationBar的高度)。解决方法:1.设置控制器的延伸约束属性 edgesForExtendedLayout(ios7出的特性) ,默认为UIRectEdgeAll,此时就能延伸到navigationBar下面,设置为UIRectEdgeNone时视图从navigationBar底部布局,(

2016-06-06 18:25:11 416

原创 UITableViewCell显示混乱问题

由于TableView的Cell复用机制,当Cell出了屏幕会被放到缓存池中等待被复用,但此时缓存池中的这个Cell上的控件并没有被销毁,而当这个cell要被复用时就会造成需要展示的新内容还是之前的内容。解决方法:当某个cell从缓存池中被调出来需要被复用时,cell会先调用prepareForReuse方法,所以在这个方法中把控件上的内容置nil,就不会造成显示混乱问题。

2016-05-27 15:44:44 2041

原创 设置headerInsectionView不悬浮

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {    CGFloat sectionHeaderHeight = 50;    if(scrollView.contentOffset.ycontentOffset.y>=0) {        scrollView.contentInset = UIE

2016-05-25 10:30:59 8208

原创 GCD任务、队列理解

GCD引入任务、队列两个概念。任务:其实就是block里执行的方法。队列:用来管理任务用的。任务的执行方式分两种:同步执行、异步执行。同步执行:首先同步执行肯定是在当前线程执行的,会在上一个任务(block代码块)执行完后再执行下一个任务。异步执行:异步执行会另开线程执行任务,不会管上一个任务是否执行完,会在另一个线程内执行下一个任务。队列也分为两种:串行队列、并行

2016-05-05 12:38:57 921

转载 UINavigationController 导航控制器

UINavigationController 导航控制器概念UINavigationController 继承于 UIViewController包含:viewcontrollers、NavigationBar、Toolbar导航控制器是一个堆栈结构,只是其中管理的对象是controller,通过push与pop进行controller的切换,UINavigationContr

2016-05-04 15:31:26 817

转载 IOS全屏左侧滑(系统方法)

1.在自定义的NavigationController中遵守UIGestureRecognizerDelegate>。2.在ViewDidLoad里调用setupSlideGesture方法。做到以上两步就能实现简单的全屏侧滑,但是如果项目中有的页面navigationBar是需要隐藏的,这时全屏侧滑过渡到这个页面时会很难看,而且还会出现NavigationBar内栈顺序错乱(例如需要隐藏

2016-05-04 12:59:30 2751

原创 UILabel加下划线

//需要加下划线的范围    NSRange contentRange = {11,10};//将字符串转化成可变属性的字符串    NSMutableAttributedString *mutStr = [[NSMutableAttributedStringalloc] initWithString:self.label.text];//添加下划线    [mutStr

2016-05-03 14:11:25 914

原创 UIView的放大动画

self.splashBg.transform =CGAffineTransformIdentity;    [UIViewbeginAnimations:nilcontext:NULL];    /* Make the animation 5 seconds long */    [UIViewsetAnimationDuration:Animation_Durati

2016-04-28 16:22:42 872

转载 检测用户拖动ScrollView速度

-(void)scrollViewDidScroll:(UIScrollView *)scrollView;scrollView.contentOffset.x/y 的变化,随着用户拖动的速度,数值变化趋势不一样(也就是说,大力拖动,数值变化大;缓慢拖动,数值趋于逐像素递增or递减)

2016-04-19 12:00:34 1730

原创 在UIView中抠透明区域

_alphaView = [[UIViewalloc]initWithFrame:self.view.bounds];        _alphaView.backgroundColor = [[UIColorblackColor]colorWithAlphaComponent:0.7];        UIBezierPath *path = [UIBezierPath

2016-04-14 12:09:55 2939

转载 计算函数运行时间

double date_s = CFAbsoluteTimeGetCurrent(); for (int i = 0; i .count; i ++) { sum += [test[i] integerValue]; } double date_current = CFAbsoluteTimeGetCurrent() - date_s; NSLog(

2016-04-12 17:00:11 656

原创 IOS开发心得汇总

1.IOS在做UI布局适配时,如果View固定不滑动,高度和宽度最好用比例来设定;如果是一个可滑动View,高度和宽度的尺寸尽量用固定的。

2016-04-07 11:15:40 789

转载 IOS中UIScrollView阻断UITouch事件传递

UIScrollView覆盖在底层的UIView上面会接收UITouch的事件,事件就不会向下传递了,这时需要添加一个类别来让UISrollView不接收这个事件并把这个事件传递下去,添加如下类别即可实现。#import "UIScrollView+UITouch.h" @implementation UIScrollView (UITouch) -

2016-04-06 20:29:02 3394

原创 BUG汇总

(1)built for newer ios version (8.3) than being linked (7.0)    解决方法:在Build Settings -> other linker Flags 中添加-w

2016-03-31 14:28:42 580

原创 App打包上线和打包测试版

一、打包上传新版本1.屏蔽Config里的测试版本。2.修改工程里的发布文件。3.修改产品里的版本号和build号。4.通过product里的Archive打包。5.通过ApplicationLoader检查包文件并上传到AppStore。6.在ItunesConnect活动选项里检查是否处理完成。7.处理完成后在AppStore选项里的正在提交的版本里面构建新版本。

2016-03-24 10:48:48 2746

原创 UINavigationBar

首先NavigationBar上三个主要属性:backgroundImage、barTintColor(IOS7之后)、shadowImage(navigationBar下的底线)IOS7后修改NavigationBar背景颜色:1.通过修改navigationBar的tintColor,实质是在navigationBar上添加了一个带颜色的UIView达到改变颜色的效果。2.通过修

2016-02-23 12:52:21 331

原创 IOS自定义控件系统方法调用顺序

如果用纯代码写的自定义控件系统会先调用- (instancetype)initWithFrame:(CGRect)frame {        if (self = [superinitWithFrame:frame]) {        //在此自定义    }    returnself;}如果控件是用xib写的系统会先调用- (in

2016-01-25 13:10:52 528

空空如也

空空如也

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

TA关注的人

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