自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS多线程【pthread、NSThread】总结

原文链接:http://www.cnblogs.com/kenshincui/p/3983982.html iOS开发系列--并行开发其实很容易 --多线程开发 概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是...

2020-07-12 14:57:54 291

原创 iOS多线程【NSOperation】总结

Demo链接:https://github.com/asd521411/NSOperationDemo.git本文用来介绍 iOS 多线程中 NSOperation、NSOperationQueue 的相关知识以及使用方法。通过本文,您将了解到:NSOperation、NSOperationQueue 简介、操作和操作队列、使用步骤和基本使用方法、控制串行/并发执行、NSOperatio...

2019-05-07 15:11:39 218

原创 iOS多线程【GCD】总结

GCD:作者简书:https://www.jianshu.com/p/2d57c72016c6作者个人博客:https://bujige.net/blog/iOS-Complete-learning-GCD.htmlNSOperation、NSOperationQueue:https://www.jianshu.com/p/4b1d77054b35https://bujige.net/b...

2018-11-29 16:49:18 190

原创 iOS设计模式之【单例】

//// SingleObj.m// Block//// Created by hongbaodai on 2018/11/26.// Copyright © 2018年 Z. All rights reserved.//#import “SingleObj.h”@implementation SingleObj//1=线程不安全,如果在一个runloop中是安全l的/...

2018-11-26 16:45:49 651

原创 AFNetworking源码笔记

注意:官方文档有明确的说明,不可以使用init进行初始化2、NSNotificationCenter 这个类是一个通知中心,使用单例设计,每个应用程序都会有一个默认的通知中心。就是用来接收消息的添加一个观察者,可以为它指定一个方法,名字和对象。接受到通知时,执行方法。(void)addObserver:(id)observer selector:(SEL)aSelector name:(NSSt

2017-01-07 23:51:01 1409

原创 OC底层原理——对象的本质

学习iOS这么长时间,都是把精力放在具体问题方法分析上,对iOS系统架构的层次很少关心,其实首先应该对整体架构有所了解,明白实际开发中是在哪个层次中开发,了解开发的应用所生存的环境。

2016-10-28 14:10:45 594

原创 iOS 启动优化

(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backg

2020-07-18 00:50:56 518

原创 加密总结【OpenSSL、对称加密(DES、3DES、AES)|非对称加密(RSA)、HASH散列、HMAC加密方案、数字签名、自签证书】

一、OpenSSL二、Mac终端加密解密演示桌面有点乱,先创建一个空的文件夹,生成的数据放在此文件夹中1、生成私钥和公钥获取到当前文件夹:cd /Users/caomaoxiaozi/Desktop生成RSA秘钥,长度为1024bitopenssl genrsa -out private.pem 1024从私钥中提取公钥openssl rsa -in priva...

2020-04-29 18:59:20 1555

原创 内存对齐、内存对齐规则解释、内存对齐原理

一、内存对齐的原因我们都知道计算机是以字节(Byte)为单位划分的,理论上来说CPU是可以访问任一编号的字节数据的,我们又知道CPU的寻址其实是通过地址总线来访问内存的,CPU又分为32位和64位,在32位的CPU一次可以处理4个字节(Byte)的数据,那么CPU实际寻址的步长就是4个字节,也就是只对编号是4的倍数的内存地址进行寻址。同理64位的CPU的寻址步长是8字节,只对编号是8的倍数的内存...

2020-03-28 23:44:31 6880 4

原创 iOS NSCcharacterSet

NSString *string = @"这是一个很长很长很s长的关于NSCcharacterSet的字符串"; //去掉@"一个"、”s“、”串“ NSCharacterSet *chara = [NSCharacterSet characterSetWithCharactersInString:@"一个S串"]; NSArray *strArr = [string co...

2019-09-02 00:51:43 210

原创 iOS数据存储的几种方式【plist、序列化/反序列化、sqlite3、FMDB】

Demo连接:https://github.com/asd521411/DataPersistenceDemo.git前言工作需要,特意准备一篇入门文章,为新人开发者介绍常见的数据存储。正文数据存储数据存储本质就是运行时的对象保存在文件、数据库中。数据存储可以分为两步:首先是将对象转换成二进制数据,这一步也叫序列化;相反,将二进制数据转换成对象则称为反序列化;然后是考虑二进制数据如何...

2019-09-02 00:07:52 488

原创 swift(一)基础知识

import UIKit //加载类库var str = “Hello, playground”/声明方式///命名可以用字母、数字、下划线,不能以数字开头,区分大小写(同oc) swift强类型语言,自动判断类型/var 变量/var varConstant = 2var varx = 1, vary = 2, varz = 3var varString: String = ...

2019-07-28 20:31:08 981

原创 iOS 在32位和64位下,数据类型占用字节 内存对齐规则

内存对齐看这里:https://www.jianshu.com/p/3294668e2d8c iOS 在32位和64位下,数据类型占用字节 32位编译器char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)shor...

2019-07-18 22:29:48 1055

原创 Could not load the "_IBBrokenImage_" image referenced from a nib in the bundle with identifier "com.

原因:storyBoard某个空间不用了,注销掉就会报这个错误,处理:如果确定不用这个控件了先取消关联

2019-06-20 17:40:47 5029

原创 AFNetworking中的https认证

持续中。。。AFNetworking: https://www.jianshu.com/p/856f0e26279d

2019-05-16 14:09:38 276

原创 OC属性的setter和getter方法

一、setter和getter的一般写法setter和getter器可以说是一个类最基本的东西,任何一门面向对象的语言,都又这个概念,C++、java等等。因为setter和getter是对面向对象语言封装的最基本的支持。在Objective-C的setter和getter器,当然也和一般的语言没有什么不同。只不过,添加了一些自己的特性。比如有一个实例变量:int age;先在.h文件中声...

2019-05-16 13:41:12 1011

原创 iOS多线程:【RunLoop】总结

Demo链接:https://github.com/asd521411/RunLoopDemo.gitiOS 多线程:『RunLoop』详尽总结1. RunLoop 简介1.1 什么是 RunLoop?可以理解为字面意思:Run 表示运行,Loop 表示循环。结合在一起就是运行的循环的意思。哈哈,我更愿意翻译为『跑圈』。直观理解就像是不停的跑圈。RunLoop 实际上是一个对象,这个对...

2019-05-08 16:21:28 151

原创 iOS 内存分配 栈、堆、全局区、常量区、代码区

在计算机系统中,运行的应用程序的数据都是保存在内存中的,不同类型的数据,保存的内存区域不同。一、内存分区栈区(stack) 由编译器自动分配并释放,存放函数的参数值,局部变量等。栈是系统数据结构,对应线程/进程是唯一的。优点是快速高效,缺点时有限制,数据不灵活。[先进后出]栈空间分静态分配 和动态分配两种。静态分配是编译器完成的,比如自动变量(auto)的分配。动态分配由alloca...

2019-05-05 14:18:51 659

原创 git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

公司电脑比较卡,所以想用自己的Mac开发,按照https://blog.csdn.net/zhw521411/article/details/88393154把自己的git账号添加到公司的git下,作为collaborator,clone了公司的代码到mac开发然后push。之后再用公司mini开发pull时报错,error: Your local changes to the followi...

2019-04-24 13:53:09 775

原创 iOS Guideline 2.3.3 、2.3.7 - Performance - Accurate Metadata 被拒

2019年4月23日 上午1:56发件人 Apple2. 3 Performance: Accurate MetadataGuideline 2.3.3 - Performance - Accurate MetadataWe noticed that your screenshots do not sufficiently reflect your app in use.Specific...

2019-04-23 16:02:37 3544

原创 Swift 基础

import UIKit//Swift将OC中的大部分类都变成了结构体,比如Sring,比如Array,比如Dictionary。//按住command点击随便一个Int或者Double或者String都会发现前面有一个struct,结构体。使用起来变得更加简单。//Swift中不再存在OC中的NSMutableArray、NSMutableString,NSMutableDictionar...

2019-04-11 17:18:08 306

原创 【Git】git项目管理 忽略文件配置

git管理project.xcworkspace/xcuserdata/username.xcuserdatad/userinterfacestate.xcuserstate,缓存文件路径,git管理的时候我们并不需要把它推送到github上,这时我们需要对git配置文件.gitignore做过滤配置,过滤掉我们不需要的文件1、进入到工程目录下,选择工程,shift+command+. 显示隐...

2019-03-12 15:57:32 1173

原创 【Git】Github 如何设置多人合作

1.第一种方式:CollaboratorsCollaborators適用於一個team之間的合作。負責開這個repository的人,進入settings,加入collaborators的帳號這樣所有collaborators名單中的人,在git push的時候,可以輸入自己的帳密,而不是擁有repository人的帳密。流程...

2019-03-11 14:28:20 1157

原创 iOS 解决用Xcode打开iPhone工程变成了My Mac的问题 或者No Scheme (no device)

从git上拉下来的项目,显示My Mac1、解决的方法:1.首先关闭你的Xcode,找到出现这个问题的项目目录下,然后找到此项目的***.xcodeproj 文件2.选中 .xcodeproj 文件, 右键选择“显示包内容”3.一般情况下,包中有如下3个文件a)project.pbxprojb)project.xcworkspacec)xcuserdata4.找到xcuserd...

2019-03-08 11:28:13 2057

原创 iOS 更改项目名称

公司项目名称ump_xxx1.0,据说原来也是外包开发,接手这么长时间越看越难受。公司app缩写HBD,遂决定更改项目名称,记录一下用图说话:原工程名字回车,输入你想要改成的名字右侧rename点击进入工程目录文件下,更改目录下原名字为新名字上图为该完的,再更改profile里面的工程名右键.xcodeproj文件,显示包内容,双击command+f 查找原工程名字,替...

2019-03-07 17:01:10 402

原创 Xcode 10 Multiple commands produce xxx has conflicting provisioning settings. 报错解决

报错: Error: Multiple commands producexcode更新描述:1、Build System2、Again, Xcode 10 uses a new build system. The new build system provides improved reliability and build performance, and it catches proje...

2019-01-15 17:09:58 842

原创 iOS socket

#import “ViewController.h”//引入头文件#import <sys/socket.h>#import <netinet/in.h>#import <arpa/inet.h>@interface ViewController ()@end@implementation ViewController(void)viewDi...

2019-01-15 14:54:53 302

原创 RAC响应式编程

从今天起关心底层和原理!cocoapods 导入rac框架导入头文件#import <NSObject+RACKVOWrapper.h>RAC基于信号,类似通知,通过发送信号执行相应方法,响应式编程常见:masonry、afn\1、基本(void)demo {//1.创建信号RACSubject *sub = [RACSubject subject];//2.订阅...

2019-01-09 10:47:04 288

原创 iOS 自定义序列化 runtime 属性列表 归档解档

从今天起关心底层和原理!还是person类@interface Person : NSObject @property (nonatomic, copy) NSString *name;@property (nonatomic, assign) int age;@endperson.m==============#import “Person.h”#import <objc/...

2019-01-09 09:39:17 254

原创 Runtime(一)基础知识

从今天起关心底层和原理!新建两个类:personMessage.h@interface PersonMessage : NSObject//- (void)sendMessage:(NSString *)msg;@endpersonMessage.m@implementation PersonMessage(void)sendMessage:(NSString *)msg{N...

2019-01-02 15:07:17 481

原创 iOS 自定义KVO+底层原理

从今天起关心底层和原理!一、基本用法#import <Foundation/Foundation.h>@interface Person : NSObject@property (nonatomic, copy) NSString *name;@end创建Person类,监听name属性@interface ViewController ()@property (non...

2018-12-28 18:32:37 263

转载 (转)【如何快速的开发一个完整的iOS直播app】(美颜篇)

原文链接:https://www.jianshu.com/p/4646894245ba利用GPUImage处理直播过程中美颜的流程采集视频 => 获取每一帧图片 => 滤镜处理 => GPUImageView展示美颜原理.png美颜基本概念GPU:(Graphic Processor Unit图形处理单元)手机或者电脑用于图像处理和渲染的硬件GPU工...

2018-12-24 16:45:54 228

转载 (转)【如何快速的开发一个完整的iOS直播app】(采集篇)

原文链接:https://www.jianshu.com/p/c71bfda055fa基本知识介绍AVFoundation: 音视频数据采集需要用AVFoundation框架.AVCaptureDevice:硬件设备,包括麦克风、摄像头,通过该对象可以设置物理设备的一些属性(例如相机聚焦、白平衡等)AVCaptureDeviceInput:硬件输入对象,可以根据AVCaptureDev...

2018-12-24 16:38:56 435

转载 (转)【如何快速的开发一个完整的iOS直播app】(播放篇)

【如何快速的开发一个完整的iOS直播app】(播放篇)效果直播.gif一、基本知识README.md文件:框架的描述文件,描述这个框架怎么使用编译语言:程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要翻译,所以编译型语言的程序执行效率高,比如OC,C,C++解释性语言:解释性语言的程序不需要编译,在运行程序的时候才翻译,...

2018-12-24 16:12:18 270

转载 (转)【如何快速的开发一个完整的iOS直播app】(原理篇)

原文链接:https://www.jianshu.com/p/bd42bacbe4cc 【如何快速的开发一个完整的iOS直播app】(原理篇)【如何快速的开发一个完整的iOS直播app】(原理篇)【如何快速的开发一个完整的iOS直播app】(播放篇)【如何快速的开发一个完整的iOS直播app】(采集篇)【如何快速的开发一个完整的iOS直播app】(美颜篇)一、个人见...

2018-12-24 16:01:35 744

原创 iOS 常用三方

用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBProgressHUD一款提示框第三方库MWPho...

2018-12-20 18:04:02 143

原创 iOS UITabBar添加背景图片、去掉shadow线

//[[UITabBar appearance] setBackgroundImage:[[UIImage imageNamed:@“tabbarBack”] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];//此种方法改变背景,但是图片变短重复铺UIImageView *ima = [[UIImageView alloc]...

2018-12-19 17:52:09 2416

原创 iOS 原生与JavaScript的交互

.h文件=========================================#define sendRequest(code) window.TellNative.sendRequest(code)#define sendData(type, args) window.TellNative.sendData(type, args)#define sendBleReconnec...

2018-12-14 16:10:40 394

原创 iOS Masonry使用

#import “ViewController.h”#import “Masonry.h”@interface ViewController ()@property (nonatomic, strong) UIView *backView;@property (nonatomic, strong) UIView *backView1;@property (nonatomic, stron...

2018-12-14 15:18:50 1124

转载 (转)iOS调试技巧

原文链接:https://www.jianshu.com/p/0b9f0b142aed 开篇小故事:bug的由来从电脑诞生之日起,就有了电脑BUG。第一个有记载的bug是美国海军的编程员,编译器的发明者格蕾斯·哈珀(GraceHopper)发现的。哈珀后来成了美国海军的一个将军,领导了著名计算机语言Cobol的开发。1945年...

2018-12-13 13:56:19 301

Unix和Linux的区别和联系 .html

一图描述Unix和Linux的区别和联系,Mac终端指令的原理,Mac下多用户、组、权限的相关操作及Mac系统下的层级关系。

2020-04-29

iOS学习路线

iOS学习路线

2018-12-07

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

TA关注的人

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