自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 解决clang: error: linker command failed with exit code 1 (use -v to see invocation) 指令集问题

“OBJC_CLASS$_xx文件名”, referenced from:linker command failed with exit code 1 (use -v to see invocation)解决指令集问题程序编译后,要调用处理器能识别的指令来完成我们设定程序要做的任务。这些指令必须是处理器能够识别并能够执行的。这就引出了两个元素,处理器和处理器对应的指令集合。比如 ARM 处理器 ,指令集合比如 arm7 , arm7s, arm64等等。我们看下苹果的不同机型(微观上对应.

2021-08-05 14:54:30 6372

原创 一句话讲明白 六大设计原则

单一职责原则一个类只负责一件事情。比如UIView 和 CALayer 的关系,UIView 负责响应用户交互。CALayer 负责视图显示。接口隔离原则协议负责的功能分离,避免臃肿协议胖接口中的方法分组,然后用多个接口替代它,每个接口服务于一个子模块。简单地说,就是使用多个专门的接口比使用单个接口要好很多。比如tableView 的 dlelegate 和 dataSource ,前者负责事件的回调,后者负责数据的传送。里氏替换原则子类可以完全的替换掉父类,并且功能不受影响

2021-07-29 17:14:53 157

原创 “Command CodeSign failed with a nonzero exit code”解决方案

分析绿色框中的信息得出是由于 opencv2.framework 没有被标记到,进而导致Command CodeSign failed。如果关键问题在前者。opencv2.framework 没有被标记到。可以推测出大概两种原因。1,framework没有添加上导致没有找到,进到导致没有被标记到。2、出来了重复的路径framework,程序不知道用谁。第一种情况一般程序会出not found类异常。在此不考虑。第二种情况,我们看下,如果是系统已经嵌入的framework,不用在此添加了...

2021-07-28 17:55:51 7122

原创 http请求中Get和Post方式有什么区别

Get1、可缓存的2、不安全的3、幂等的Post1、不可缓存的2、安全的3、不幂等的

2021-07-28 17:41:06 81

原创 Xcode12使用Assets设置启动页并使用

目的:不使用"LaunchScreen.storyboard"来完成启动页的设置方法,开始操练一:删除文件删除 LaunchScreen.storyboard二:添加启动页图片1、找到它↓,然后点击打开2、添加LaunchImage3、将对应分辨率的图片拖入三:设置启动页关联1、找到下图的蓝框部分2、替换成 ↓ 下图所示 ( 注意“LaunchImage” 是在Assets中设置的文件名称)完事收工!运行看下效果吧。...

2021-05-13 14:22:00 545

原创 UITableViewCell 上增加 button 按钮,点击事件出现冲突,试试这种方式

在使用UITableViewCell的时候,特别是自定义的cell时,时常需要在cell上添加button,方式一:UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(270, self.timeLabel.frame.origin.y-20, 50, 30)];button.backgroundColor = [UIColor blueColor];button.enabled = YES;[button set

2020-11-26 10:37:36 2033 1

原创 xcode项目初始化不想使用Main.storyboard

随着Xcode不断迭代,越多的创建工作被工具集成到默认初始操作中,但对一些习惯使用代码初始化的程序员来说,多少有些缺乏安全感,这边文章就是对项目初始化不想使用Main.storyboard,而调整成代码window加载的知识记录,希望能帮助到有需要的朋友。一:支撑环境二:一路默认创建一个项目三:创建完成后的目录结构四:运行看下默认样式五:我们将Main.storyboard的首要设置成蓝色,用来和之后的通过window加载对比六:看下设置颜色...

2020-11-19 13:55:54 1432 1

原创 invalid deployment target for -stdlib=libcxx 问题详解

现象:使用xcode编译.mm文件时,会出现编译错误:clang: error: invalid deployment target for -stdlib=libc++ (requires iOS 5.0 or later)原因:libc++ 为 LLVM 项目重新编写,包含 C++ 11 标准库。如,smart pointer,function, tuple,unordered_map,uno...

2018-03-26 20:55:38 329 1

翻译 IOS核心动画高级五:变换

在第四章“视觉效果”中,我们研究了一些增强图层和它的内容显示效果的一些技术,在这一章中,我们将要研究可以用来对图层旋转、摆放或者扭曲的CGAffineTransform。以及可以将扁平物体转换成三维空间对象的CATransform3D。仿射变换在第三章【图层几何学】中我们使用了UIView的transform属性旋转了钟表的指针,但是并没有解释背后运作的原理,实际上UIView的transform属

2017-06-20 14:50:01 1761

翻译 IOS核心动画高级四:视觉效果

我们在第三章【图层几何学】中讨论了图层的frame,第二章【寄宿图】我们讨论了图层的寄宿图,但是图层不仅仅可以是图片或是颜色的容器。还有一系列内建的特性使得创建美丽优雅的令人深刻的界面元素成为可能,在这一章,我们将会探索一些能够通过使用CALayer属性实现的视觉效果。圆角圆角矩形是ios中的一个标志性审美特性。这在ios中的每一个地方都得到了体现。不论是主屏幕图标,还是警告弹窗,甚至是文本框,按照

2017-06-16 17:17:17 2833 1

翻译 IOS核心动画高级三:图层几何学

第二章里,我们介绍了图层背后的图片,和一些控制图层坐标和旋转的属性,在本章里面我们将要看一看在图层内部是如何根据父图层和兄弟图层来控制位置和尺寸的。另外我们也会涉及如何管理图层的几何结构,以及它是如何被自动调整和自动布局影响。布局UIView有三个比较重要的布局属性:frame、bounds和center。CALayer对应的叫frame、bounds和position。为了能够区分清楚,图层用了”

2017-06-14 14:26:44 1907 1

翻译 IOS核心动画高级二:寄宿图

寄宿图承接上文,我们在【图层树】的文章中介绍了CALayer 并且创建了一个简单蓝色背景的图层进行展示,如果图层只能展示单调的颜色未免太无聊了,事实上CALayer类能够包含一张你喜欢的图片,本章我们一块来探索CALayer的寄宿图(即图层中包含的图)。contents属性CALayer有一个属性叫做contents,这个属性的类型被定义为id,意味着它可以是任意类型的对象。在这种情况下,你可以给c

2017-06-12 14:38:25 950

原创 IOS核心动画高级一:图层树

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-06-06 21:58:45 1258

原创 蓝牙实战总结一,就是干货(会持续更新)

背景说明:由于公司的业务需要在之前积攒了一些关于蓝牙开发经验,在此做过mark , 温故而知新,也希望能给后来的学习者提供一些帮助,那好,here we go !本篇文章的学习对象是基于蓝牙4.0外设的开发,所以如果涉及到其他的蓝牙版本,请移步了。蓝牙4.0介绍有关蓝牙4.0过多的基础介绍就不在这里赘述了,移步这里 百度百科 以下是来自维基:。 蓝牙4.0是Bluetooth SIG于2010年

2017-05-22 14:28:30 2278

原创 问题记录(持续更新)

一: 问题现象 联机运行,在控制台打印的信息是: dyld: Library not loaded:/System/Library/Frameworks/UserNotifications.framework/UserNotifications Referenced from: /Users/mc/Library/Developer/CoreSimulator/Devices/A9D

2017-05-15 16:28:31 760

原创 一次传销(一)

在发生本次事件(请允许我用『事件』这个词,对我个人来说这真的不算是一件小事)以前,我觉得犯罪离我很远,远到当看到电视中犯罪剧情时,都觉得这是情节的需要,演员的浮夸表演等的一些自以为的想法。经过这件事,我体会到犯罪给人带来的那份恐惧,还有就是一些正能量的东西。此事说来话长,让我按照事情的发展顺序娓娓道来,期间我也加上当时我心理活动的描写,整件事情叙述完成之后,我再给列举我的怀疑点和推理。在十一假期将要

2017-05-12 15:25:03 409

原创 一场娱乐节目引发的脑补

今天看了一个音乐节目叫什么偶像,关于节目本身我不怎么了解,我只想对我看到的第二期节目表达下自己的看法。第二期的节目内容是中国的四名队员和韩国的四名队员,两两组队,然后进行PK,获得票数最多的组合夺冠。我分别来介绍下我关注到的地方:第一组:薛之谦 & 宋闵浩直到最后的表演,两位都没有一块搭档表演过。原因是薛之谦的工作安排太忙,宋闵浩自己一个人走台,彩排。最后的表演时,明显感觉两位是各司其职,也没啥互动

2017-05-12 15:24:10 503

原创 锤子手机2017春季发布感

昨晚看了全场的锤子手机发布会,发布会前段的发布内容让我几乎都忘记是要发布一款硬件产品,直到后半段的反转才彻底回归主题。坚果pro!的确很不一样,特别是“细细的红线”,的确惊艳。这应该是老罗的不妥协和诚意之作,发布会中在坚果Pro 揭开面纱的时刻,全场欢呼鼓掌,老罗这个40多岁的“青年”也是情到深处了,说话颤抖、哽咽了。控制了下情绪才继续演讲。说实话我都有些小激动啊。真想对这些观众说一声,再多些掌声,

2017-05-12 15:23:20 1420

原创 ios - 多线程之十一:NSOperation

NSOperation 是抽象类,所以要用子类来进行线程使用;目前是三种方式: 1:NSInvocationOperation 2:NSBlockOperation 3:创建子类继承自 NSOperation###1:NSInvocationOperation NSInvocationOperation : 可以理解为是一个为 @selecto

2017-05-12 15:22:09 443

原创 ios - 多线程之十:GCD_after

dispatch_after : 延迟操作直接上代码演示: //GCD - dispatch_after 执行延时操作;——不会堵塞线程/* 参数: DISPATCH_TIME_NOW : 从什么时间开始延时(从当前时间开始延时) (int64_t)(20 * NSEC_PER_SEC) :延时时长( NSEC_PER_SEC 以秒为单位) dispatch_g

2017-05-12 15:20:45 413

原创 ios - 多线程之九:GCD_once

dispatch_once 常用于单例 : 只创建一次,如果不对对象进行销毁的话,它会一直存放于内存当中。代码说明下:1:创建单例文件 2:.h文件中生命类方法+ (instancetype) initWithName:(NSString *)nameString;3:.m文件中实现static ShareObject *object = nil;+ (instancetype) initW

2017-05-12 15:18:19 423

原创 ios - 多线程之八:GCD线程组

在我们的实际开发过程中会碰到这样的问题,只有当任务1和任务2都完成之后才能执行任务3,这种情况下就需要线程组的出现来解决这类问题。常用方法注意事项:使用线程组的方法来创建任务是没有同步任务的,创建按钮入口UIButton *btn5 = [UIButton buttonWithType:UIButtonTypeCustom];btn5.frame = CGRectMake(40, 350, 100

2017-05-12 15:17:10 1760

原创 ios - 多线程之七:GCD并行

接以上项目,我们开始 GCD 并行队列的使用创建按钮入口UIButton *btn4 = [UIButton buttonWithType:UIButtonTypeCustom];btn4.frame = CGRectMake(40, 300, 100, 40);[btn4 setTitle:@"GCD并行" forState:UIControlStateNormal];[btn4 setBa

2017-05-12 15:15:06 885

原创 ios - 多线程之六:GCD串行

在之前的项目技术上,我们进行学习1:创建入口按钮//第三种方式 GCDUIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];btn2.frame = CGRectMake(40, 250, 100, 40);[btn2 setTitle:@"GCD串行" forState:UIControlStateNormal];[bt

2017-05-12 15:13:10 842

原创 ios - 多线程之五:GCD

简单介绍GCD 是苹果为了解决多核的并行运算提出的一套解决方案,它可以合理的利用更多的 cpu 内核,它可以自动的管理线程的生命周期,比如说线程创建,任务调度,销毁线程。我们只需要告诉 GCD 要干什么;GCD 是基于 C 语言,同时呢GCD 又引入了 block 语法块, 使用起来更加方便和灵活,基本开发人员都是使用 GCD 来实现一些多线程的开发。概念介绍同步 & 异步 这点是针对于任务而言的

2017-05-12 15:12:17 769

原创 ios - 多线程之四:线程锁

假如我们在功能的实现过程中,类中有一个全局变量,我们创建了多个线程去同时改变或者使用这个变量,会出现什么问题?线程锁就是用来解决多线程之间对资源共享的问题;思路在上文《多线程之三》的基础之上进行演示,模仿多个地点进行售票的案例。代码展示1:创建按钮 //问题 : 当多个线程执行某一块相同代码,需要线程锁进行保护

2017-05-12 15:10:59 788

原创 ios - 多线程之三:NSThread

NSThread 线程解决方案是经过苹果封装后的,并且是完全面向对象的,基于此呢,我们就可以直接来操作线程对象,比较直观。思路在viewController中添加一个按钮,点击按钮执行 NSThread 线程管理。

2017-05-12 15:09:17 703

原创 ios - 多线程之二:pThread

在很多操作系统上都会用到的API,可移植性特别强。基于C语言框架,在开发过程中极少用到。在很多面试中对该线程使用都很少提及。那么好,我们言归正传,以代码的形式给大家讲解用法和注意事项。——————思路:在界面上安排一个按钮,当点击按钮时,执行 pThread 多线程;代码演示:1:创建项目;2:在ViewController里面添加按钮,代码如下: //第一种方式 pThreadUIButt

2017-05-12 15:08:09 807

原创 ios - 多线程之一:概念介绍

多线程及其相关概念字面意思:多线程,多个线程相关名词介绍进程什么是进程?进程是指在系统中正在运行的一个应用程序。e.g.:比如同时打开微信和QQ,系统就会分别启动两个进程。每个进程之间是相互独立的,不受影响的,并且运行在它们专用的受保护的内存空间内。也就意味着一个进程是不能访问另一个进程的独有空间的可以通过MAC系统中的活动监视器来查看进程进程的五态模型新建进程刚刚被创建,还没有被提交的状态

2017-05-11 15:14:02 956

原创 ios - app的转让

ios - app的转让最新公司在进行管理和业务上的调整,其中涉及到一次app的转让,在此稍作记录流于后人。直接切入正题:概念介绍什么叫“装让”?字面意思就是把我的公司给你,你享有这个东西的所有权和管理权了,对于app而言是两个账号之间的app交接。经验学习:说明:Project_app —— 要进行转让的 appAPPLEID_FROM —— 拥有 P

2017-05-11 15:09:16 978

原创 app端UI的制图规范

ios和Android切图尺寸规则UI交付给研发的资料有:·注图(以 **750 \1334* 尺寸为基准标注)·2x切图(以640 & 750为宽度尺寸为基准切图)·3x切图(以1280为宽度尺寸为基准切图)iphone设备尺寸切图命名规则命名的基本原则: 1.为了让切图便于管理,依图片性质命名。

2017-05-11 15:06:02 2884

原创 Realm初探(一)

简述Realm是一款针对移动设备设计的数据库框架,已经涵盖所有主流的开发平台。代码开源Realm的特性1、全平台支持,数据文件是通用的, 接口设计相同,减少了学习成本。2、Realm的安装和学习非常简单。3、关系型数据库,支持泛型4、官方称比SQLite的常规操作还要快。学习资源主站官方app数据浏览: Rea

2017-05-11 15:04:34 597

原创 CocoaPods梳理

最近在开发一个新项目,使用上了三方库管理工具CocoaPods,关于CocoaPods不做过多介绍,网上已经有海量资源,在此梳理安装的初步使用的知识,顺便总结下碰到的坑。一步一步……1、查询Ruby的源①为什么?CocoaPods是使用Ruby语言编写而成,因此呢需要Ruby的环境,那是不是我们IOS开发者还需要搭建Ruby环境?很庆幸 OS X已经集成了Rub

2017-05-11 15:01:00 337

空空如也

空空如也

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

TA关注的人

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