自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 Shell语言(一)

Shell是脚本语言,编辑库。Shell中类非常多,Bash是所有的操作系统默认脚本语言。(1)注释----##添加行注释,没有多行注释,只有单行注释#输出了hello worldecho "hello world"(2)变量变量定义:变量名称不需要加“”符号,”符号,”符号,表示取变量值变量名和“=”之间不许加空格(区别于其他语言)变量名首字母仅限"字母"(不分大小写)和...

2019-03-13 15:32:37 2020

原创 OpenCV初体验

OpenCV是跨平台的开源框架,支持c/c++,Python,OC,Swift,Ruby等等…,支持Windows,mac,iOS,Android平台。支持领域广泛 ,机器学习,无人驾驶,人脸识别,人脸检测,物体追踪,图像分割,图像拼接,视频处理等等自1999年发布第一版到现在为止20年,很稳定。使用openCV将图片打马赛克https://github.com/Mae-2018/Ope...

2019-03-12 15:52:49 161

原创 Block底层原理(一)

(一)block的本质,是一个结构体(二)捕获变量第一种:没有参数,在block中打印,无需捕获 void (^block)(void) = ^{ NSLog(@"Hello, World!"); };编译成c++代码后(xcrun -sdk phones clang -arch arm64 -rewrite-objc 要编译的文...

2018-12-15 22:17:24 713

原创 面试基础问题

(1)如何令自己所写的对象具备拷贝功能实现NSCopying,NSMtableCopying协议并结合runtime的方法实现赋值- (instance)copyWithZone:(NSZone *)zone{ id model =[[ [self class] allocWithZone:zone]init]; unsigned int count = 0;...

2018-12-15 17:16:54 217

原创 runtime(四)----API

类成员变量

2018-12-08 19:40:27 166

原创 runtime(二)(消息发送,动态解析,消息转发)

所有的方法调用都转化为objc_msgSend(id object,SEL selector,…);消息机制:给方法调用者发送消息objc_msgSend(消息接收者,消息名称);objc_msgSend的执行流程可分为三个阶段:消息发送,动态方法解析,消息转发。消息发送阶段:动态解析阶段...

2018-11-30 20:35:24 375

原创 runtime(一)------类结构,方法结构,方法缓存等

编写代码--------编译连接---------运行(1)OC的动态性都是靠runtime的API支撑的。(2)isa指针实例对象的isa指针指向类对象,类对象的isa指针指向元类对象,元类对象的isa指针指向根类元类(如何指向请查看)如图我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全...

2018-11-29 19:55:26 328

原创 isa指针详解

在arm64之前,isa是一个普通的指针,存储着class和meta-class的内存地址从arm64之后,isa指针变成了一个共用体,还使用位域来存储更多的信息

2018-11-28 19:42:08 1415

原创 CALayer 和 UIView

(1)UIView可以响应点击事件,CALayer不可以响应时间,UIView继承与UIResponder;CALayer继承于NSObject (2)UIView的frame,bounds等都是直接取的layer的, 重写view的layerClass(+号方法),inti,frame,bounds,center方法,重写layer的init,frame,bounds,position,an...

2018-06-28 11:56:25 185

原创 load 和 initialize 方法的区别;

相同点:都是可以自动被调用的,无需手动调用;并且它们的方法实现内部都是有锁的,是线程安全的不同点: (1)子类不实现load方法,父类的load方法就不会被调用,子类不实现init方法,父类也会调用init方法; (2)load在main函数之前被调用,不是懒加载实现的;init是懒加载,只被执行一次 (3)load是只要类所在文件被引用就会被调用,而initialize是在类或者其子类...

2018-06-26 20:12:26 667

原创 [UIImage imageNamed:@""];[UIImage imageWithContentsOfFile:@""];的区别

[UIImage imageNamed:@”“];有缓存, [UIImage imageWithContentsOfFile:@”“];没有缓存

2018-06-25 19:38:35 260

原创 atomic和nonatomic的关系;@synthesize和@dynamic的关系

atomic,默认是atomic, 两者的区别是:修饰的属性的setter方法和getter方法不同, atomic修饰的属性的setter和getter方法,stomic在setter方法和getter方法设置和取值的时候有一个安全锁保障,比如线程A正在取currentImage的值,线程B和C同时改动currentImage的值,这时BC线程需等A完成后才能操作但是atomic所说的线...

2018-05-16 16:34:11 298

原创 KVO原理解析和自定义KVO

(1)KVO是基于runtime机制实现的, (2)类A监听类B的一个属性的变化,当B被观察时,系统会在运行期动态创建一个B的子类NSKVONotifying_B, (3)每个类都有一个isa指针指向当前类,B的isa指针会指向派生类NSKVONotifying_B,然后重写被观察的属性的setter方法, (4)键值观察依赖于NSobject的两个方法willChangeValueFo...

2018-05-15 15:55:16 580

原创 ARSessionConfiguration 在xcode上找不到

关于ARKit已有很过文章系统介绍过了,也很详尽,再次不在重复 但是ARSessionConfiguration在xcode上找不到,用xcodeBeta版会提示是被ARConfiguration代替了

2017-10-19 16:15:24 952 2

原创 Charts的使用

ChartsDemo的使用 github的地址https://github.com/danielgindi/Charts 集成到项目中, (1),将下载的Charts-master整体拖入到自己的项目中(Charts-master中的ChartsDemo和ChartsDemo-OSX可剔除) (2)将charts-master中的Charts.xcodeproj add files

2016-12-11 01:59:02 945

原创 按钮设置不了图片

代码如下 效果却这样 原因,按钮的type用自定义的,别用system的

2016-08-17 10:34:28 551

原创 在block中执行push操作崩溃

情景如下: view中有一个block属性,点击view上的按钮,调用block 对block的赋值在viewController中 结果,点击按钮的时候崩溃,无崩溃信息原因,view中的block使用的assign属性,改为strong即可 且 最好push方法写在主线程中

2016-08-01 15:13:48 597

原创 IQKeyboardManager

IQKeyboardManager 使用SB,为解决防止NavigationBar向上移动,将Class由UIView换为UIScrollView,布局乱掉了

2016-07-28 10:41:52 352

原创 xib/StoryBoard中设置与Bottom Layout Guide相关的约束,push进来的闪一下

今天遇见一个问题,如下: 用SB铺界面,距离页面下方8px处有个按钮,设置约束Bottom Layout Guide.top = Add Address.bottom + 8 push进来的时候隐藏TabBar,在属性面板中将hide Bottom Bar on push勾选上, 出现的现象,在push的时候最下面的控件会忽然删一下原因:viewWillAppear的时候Bottom Layo

2016-07-27 18:57:45 1740

原创 xib或者SB中设置边框颜色

layer.cornerRadius Number layer.borderWidth Number layer.borderUIColor Color这样的话,前两个可以设置,但是边框颜色还是不能按照我们的意愿显示建一个CALayer的类目

2016-07-27 10:50:30 325

原创 CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]

原因,有个对象为nil,而我却是用了这个nil对象的frame进行了运算

2016-07-22 14:10:06 333

原创 iOS 截屏 长图 拼图

这样一个需求: 将一个webView生成一张图片。 截屏的代码如下: - (UIImage*)screenView:(UIView *)view { CGRect rect = view.frame; UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurren

2016-06-25 15:19:04 7864

原创 右滑返回上一级interactivePopGestureRecognizer

iOS7后新增了右滑返回上一级的功能,新建一个domo,随便弄两个页面push,pop就可以发现,然后就以为这个功能是默认开启的,以为self.navigationController.interactivePopGestureRecognizer.enabled = YES;这句话不用写也没关系,以为我固有的项目没有这个功能是因为项目太老,创建项目时的xcode版本太低,其实,,,都不是。。。。。

2016-06-23 16:28:22 459

原创 The run destination My Mac is not valid for Running the scheme '你的项目名'.

如图更改Base SDK 即可

2016-06-21 14:03:46 3737

原创 cocoapods升级到1.0.1后,podfile文件里的变更

platform :ios, ‘7.0’use_frameworks!target ‘这里写你工程的名字’ do  pod 'AFNetworking', '~> 3.0’  pod 'ORStackView', '~> 3.0'end

2016-06-19 16:46:31 931

原创 UItextField实时监控输入框的文字

想要实现的效果 [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];(void)textFieldDIdChange:(UITextField *)textField{ UITextRange *selectedRange

2016-05-10 18:22:12 862

原创 -[UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0x130972b90

-[UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0x130972b90self.passwordField.background = [UIColor redColor];因为把backgroundColor写为了background

2016-05-05 19:25:53 1094

原创 applePay 项目的配置和集成

applePay的项目配置和主要代码的集成

2016-04-08 10:37:07 800 1

原创 applePay 之 第一步merchantID和证书的生成

生成merchantID (1) (2) ![打开钥匙串,钥匙串访问,证书助理,从证书颁发机构请求证书,填写邮箱,储存到磁盘,让我指定密钥对信息(http://img.blog.csdn.net/20160406152753521) 然后把CSR文件添加进去生成证书,download并双击加入钥匙串 证书配置完成

2016-04-06 15:34:33 1215

原创 iOS中二维码,条形码等的扫描

二维码扫描用到的类(1)AVCaptureDevice输入的设备 (2)AVCaptureInput输入流 (3)AVCaptureMetadataOutput输出流 (4)AVCaptureSession,是个管理工具,管理输入输出流AVCaptureInput,AVCaptureMetadataOutput,执行输入设备和输出设备之间的数据传递 (5)AVCaptureVideoprev

2016-04-05 16:44:43 478

原创 C语言,程序设计

程序可以分为三种基本结构:顺序结构,分支结构,循环结构 C程序的执行部分是由语句组成的,程序的功能也是由执行语句实现的, C语句可以分为以下五大类: 表达式语句,函数调用语句,控制语句,复合语句,空语句 表达式语句:表达式加上分号 函数调用语句:由函数名,实际参数加上分号 ,一般形式为:函数名(参数); 控制语句: 条件判断语句: if switch 循环执行语句 do while,

2016-03-07 23:27:14 279

原创 C语言——数据类型,运算符,表达式

基本数据类型:不能再分解为其他类型的数据类型。 构造数据类型:数组类型,结构体类型,共用体(联合体)类型 指针类型:指针的值是用来辨识某个变量在内存存储器中的地址 空类型: (1)基本数据类型: 常量:程序执行过程中值不会发生改变的量称为常量(符号常量就是宏定义,宏定义不能被赋值)变量:值可以改变的量,一个变量应该有一个名字,在内存中占一定的存储单元,变量的声明要在使用之前整型常量:八进制

2016-02-12 14:12:36 429

原创 CocoaPods的安装和使用

CocoaPods是用来管理类库的工具,使用它无需手动一个个地下载项目中需要的类库,当项目中使用到的类库更新的时候也不用再重新下载替换了,只需要CocoaPods的一句命令就好了…. 1安装CocoaPods需要ruby环境,Mac电脑自带ruby环境; 2在终端输入gem sources -l,用来判断Mac电脑上的Ruby是什么的,在国内使用的镜像是淘宝的,如果输入上一句命令之后出现的不是,

2015-09-17 11:40:58 256

原创 iOS远程推送之使用极光推送

1极光的主要作用就是替公司的服务器管理用户的deviceToken,当公司需要推送消息的时候,公司后台服务器将极光管理的devicetoken和需要推送的内容发送给苹果后台服务器; 2https://www.jpush.cn,极光的官方网站,注册用户,新建应用(新建应用的时候需要两个p12文件),下载极光SDK 3两个p12文件的生成步骤 上一篇文章中生成了一个开发的push证书,一个生产的p

2015-09-09 19:05:08 475

原创 iOS远程推送之获取deviceToken

远程推送的原理就是: 1手机或者说苹果自动将用户的UDID 和应用的 AppID发送到APNs,APNs返回一个deviceToken给iOS设备,同一个手机不同的应用会生成不同的deviceToken,同一个手机同一个应用只生成一个deviceToken; 2手机端将deviceToken发送到自己公司的后台服务器,用以保存; 3当后台需要推送消息给用户时,服务器将需要推送的消息和devic

2015-09-08 00:20:06 12552

原创 mac电脑上将文件夹显示或者隐藏的命令

1打开终端,输入如下命令:

2015-09-07 10:15:40 299

原创 真机运行时怎么查看沙盒文件

1打开xcode,window devices 2 3点击设置,选择downLoad,第二项, 4将下载下来的文件右击显示报内容即可查看沙盒文件

2015-09-07 09:56:32 330

原创 gitHub的使用

想要实现的效果是,将本地文件A,上传到gitHub上,然后将gitHub上的文件clone到本地文件夹B,在B中修改文件,然后push到gitHub上,最后把gitHub上的被修改后的文件pull到A中;(A)将A文件夹传到gitHub上1在本地件个文件夹A,里面有个xcode的project 2在公司或者自己的存储链接(我们公司的是http://git.fieldschina.com)新建一个新

2015-08-25 11:53:24 399

shell学习,第一章

shell基本语法-注释,变量命名,字符串拼接,删除,

2019-03-15

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

TA关注的人

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