自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS开发 开发者证书配置和安装

今天我们来看看配置过好几次的开发这证书在此记录一下过程1.登陆开发者中心这里给大家一个连接Apple developer点击Certificates Identifiers & Profiles看到这个界面之后点击“+”号2.创建证书我们可以选择需要创建的证书 这里我选择iOS App DevelopmentContinue -> 这个页面需要我们上传一个CSR文件CSR文件获取来看csr文件的获取

2017-02-15 14:21:47 507

原创 Objective Runtime(3)

上一篇主要介绍了Objective-C的消息机制,这一边中我们介绍常用Runtime库中常用的方法和一些特性Runtime.hClass object_getClass(id obj)Class object_setClass(id obj, Class cls) BOOL object_isClass(id obj)const char *object_getClassName(id obj

2017-02-20 14:27:41 388

原创 Objective-C Runtime(2)

上一篇Runtime中介绍了类最终都是以C语言结构体的形式展现,那么C语言中结构体是什么样的有哪些特新和作用呢?结构体在C语言中结构体是一种集合,比如包含基础数据类型的int,char ,double等等,可以包含我们想要的数据。结构体也是一种数据类型,我们一颗创建一个结构体,并对其进行修改。结构体本身不占用内存空间,结构体变量占用一块连续的内存空间。上一篇中我们提到OC的类最终是C语言的结构,而C

2017-02-17 15:03:53 441

原创 iOS开发 cocoaPod和Carthage的安装与使用

cocoaPod安装在终端中运行sudo gem install cocoapods需要输入密码,等待一段时间,提示field,我们需要替换镜像源gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令gem sources -a http://ruby.taobao.org///可以查看源gem sources -l然后在执行sudo

2017-02-16 12:11:58 509

原创 iOS开发 开发者账户介绍

苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。1、个人(Individual);2、组织(Organizations)组织类又分为2个小类:(1)公司(Company)(2)企业(Enterprise)它们之间的差异:1、个人(Individual):(1)费用:99美元一年 (2)App Store上架:是(3)最大uuid支持数:100(4)协作人数:1人(开发者

2017-02-15 16:28:29 398

原创 Objective-C Runtime

介绍runtime到底是什么?也有人说“Objective-C是最优美的语言”,那么到底是为什么?runtime和Objective-C的关系是什么样的?runtime有什么作用,具体能干什么?runtime的原理是什么,什么是消息机制?runtime的使用需要注意什么?一下我们将围绕这几个问题展开来做介绍。runtime是什么在上一篇博客中说道runtime 是运行时库,其实这样去介绍是不全面的,

2017-02-14 22:42:15 325

原创 Objective-C id类型

介绍id 类型是一个万能的对象指针类型,可以指向任意类型的对象,相当于NSObject *我们来看id的定义typedef struct objc_object { Class isa;} *id; 我们在使用的时候和正常类一样使用,但是不能使用点语法,可以使用set方法。id teach = [[Person alloc] init];[teach setName:@"Gavin"];i

2017-02-13 22:01:38 813

原创 Objective-C NSObject

NSObject常用方法NSObject可以说是所有类的基类,也就是抽象类,那么他提供那么方法呢,我们一起来看一下1.判断是否为aClass或者aClass的子类的实例- (BOOL)isKindOfClass:(Class)aClass;这个方法经常用到,尤其是我们自己写框架给别人用的时候经常判断类型2.判断是否为aClass的实例(不包括aClass的子类)- (BOOL)isMemberOfC

2017-02-12 19:53:56 360

原创 Objective-C 数据持久化

简介在开发通常需要我们把一些数据存储在本地,这篇我们来介绍iOS中数据持久化得方法。1.属性列表2.对象归档3.偏好设置4.嵌入式数据库(SQLite3)5.苹果公司提供的持久化工具 Core Data以下我们围绕这4种方式逐一介绍,在上一遍种我们介绍了“沙盒”和文件管理的基础知识,我们将以上一篇为基础进行介绍后面内容1.属性列表属性列表(plist),指定应用的配置比如tabbar的状

2017-02-10 23:49:34 1109

原创 Objective-C NSFileManager与沙盒

NSFileManager看名字我们就知道是用来管理文件的,那么他能管理那些区域的文件,我们就引入了“沙盒”“沙盒”沙盒(sandBox),是一个应用在使用期间所使用磁盘空间称为沙盒,每个应用都有三个目录(Documents,Library,tmp)。我们可以再模拟其中的Applications的目录下查看。Documents:应用将数据储存在Documents中,但基于NSUserDafault

2017-02-09 16:45:28 371

原创 Objective-C NSDictionary

介绍NSDictionary翻译为“字典”作用通过一个key找到对应的value,NSDictionary是不可变的, 一旦初始化完毕, 里面的内容就无法修改。创建+ (instancetype)dictionary;+ (instancetype)dictionaryWithObject:(id)object forKey:(id <NSCopying>)key;+ (instancetype

2017-02-08 22:33:41 480

原创 Objective-C NSArray

简介NSArray是OC中的数组类,相比较C语言的数组它可以存放不同类型的数据可以动态的添加和删除数组元素,同时使用的时候也需要注意,NSArray只能存放OC对象,并且是有顺序的,不能存放非OC类,比如int、foat、dounule、char、enum、struct等。我们初始化完毕之后, 它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素。创建+ (instancety

2017-02-07 20:36:58 383

原创 Objective-C NSString

介绍我们现在开发都是面向对象,面向对象的优点就不在这里介绍了,NSString就是字符串面向对象的产物,一个NSString对象就代表一个字符串。NSString创建1.直接创建NSString *str = @"string";2.格式化的方式NSString *str = [NSString stringWithFormat:@"My age is %d", 10];NSString *str

2017-02-06 21:31:16 306

原创 Objective-C Foundation框架

介绍Foundation是定义了对象、数据类型、集合和系统服务的基本类。是Mac、iOS中其他框架的基础,其中包含很多开发中常用的数据类型:结构体、枚举和类等。我们来看官方的定义 https://developer.apple.com/reference/foundation Foundation Access the essential classes that define basi

2017-02-05 21:17:57 279

原创 Objective-C 多线程

我们介绍多线程首先我们需要一些基础知识一下我们一一介绍进程进程:指在系统中正在运行的一个应用程序,每个进程是独立,每个京城都运行在其专用受保护的内存空间。这也就是说多进程要比多线程健壮我们之后介绍。线程线程:是进程的基本执行单元,一个进程的所有任务都在线程中执行,在一个线程中任务都是串行(顺序执行)。线程通信线程通信:在一个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信,比如一个线程传

2017-02-05 01:27:08 652

原创 Objective-C 通知(NSNotification)及实现原理

简介通知(NSNotification),是采用“观察者”模式来实现,发送通知的本身不需要知道使用者是谁,也不用知道有几个使用者,只需要在通知中心发送通知就可以实现消息的一个或者多个的传递。以下是苹果对通知的定义: https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaC

2017-02-03 22:58:08 4251

原创 Objective-C 协议(protorcol)

Objective-C 没有像C++那样可以使用多继承,但是由想要拥有各类的方法,同时还要兼顾低耦合,这个时候引入了协议(protorcol)。今天去苹果官方查看API,发现这样的图觉得挺好看。协议我们先看一下苹果多协议的描述:https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-C

2017-02-02 21:04:09 467

原创 Objective-C 程序内存分布

程序在运行中会占用内存,一般内存中分为堆区,栈区,代码区等那么Objective-C的内存分布又是什么样的呢?内存分布我们查看内存分布是我们可以通过打印内存地址比如说堆和栈,他们的内存地址相距就非常非常远,我们通过下面的图片来了解内存程序运行时内存的分布情况。全局区:存放全局变量和常量非初始化(bss):存放没有被初始化或初始化为0的全局变量;初始化(data): 初始化过的全局变量数据,用来保

2017-02-01 21:39:37 519

原创 Objective-C Block(2)

Block内部定义我们想要知道Block的实现过程,首先我们深入Block,下图是对Block的结构是在栈中的结构。在实际开发Block的使用非常多,作为方法参数,比如网络请求的失败和成功回调,SDWebImage也同样使用多种闭包来完成对应的功能,我记得曾经用的一个插件把Selecte做成Block也是很方便,但是在使用的时候要注意。

2017-01-31 23:38:43 291

原创 Objective-C Block

简介Block在我们的开发中是非常常见的,比如值得反向传递,我们定义一个Block,就可以完成,对我们编程非常的方便,那么Block到底是从哪里来的呢?他有哪些注意事项?Block:其实就是一段代码块,也称作闭包。Block是C语言提供的功能,Objective-C是基于C语言,自然Block也具有同样的功能,同时更加强大。Block使用Block定义:返回值类型/方法 (^块名称)(参数的类型)

2017-01-31 01:25:18 311

原创 算法 - 归并排序

介绍归并排序:归并字面意思“回归 ”“合并 ”,把有序的两个或者多个序列合并为一个序列。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。那么什么是分治法呢?分治法分治法:将原问题分解为几个规模较小但类似于原问题的子问题,递归的求解这些子问题,然后在合并这些子问题的解来建立原问题的解。分治模式在每层递归都有三个步骤:分解:把原问题分解若干子问题;解决:把若干子问题解

2017-01-28 22:58:49 290

原创 Objective-C 内存管理

前言前两篇中Objective-C属性,在定义属性时我们使用一系列关键字,比如:retain,release,assgin,copy,strong,weak等等,那么这些关键字到底在程序运行起什么作用呢?下面我们通过内存管理来深刻的理解这些词的具体作用。介绍内存管理:程序在运行过程中,会创建很多的类和对象,而创建类和对象就要占用内存空间,基本类型都是系统自动管理放在栈区,而创建的类和对象放在堆区,我

2017-01-27 21:35:54 336

原创 查看路由器内宽带账号密码(D-link,TP-Link)

有时候记录在路由器的宽带账号密码忘记而想要获取那么怎么办呢?1、 通过宽带运营商通过开户姓名,身份证,手机号和地址等资料修改密码。对于现在的我临近春节,客服打了几次都没有人接QAQ;2、 那么就是通过RouterPassView这个工具来查看密码。下面就让我们具体操作吧第一步:下载 RouterPassView ,那么我已经准备号了可以点击下面链接下载;(http://pan.baidu.co

2017-01-27 00:41:00 36208

原创 算法 - 插入排序

介绍插入排序:把需要排序的目标数据,逐个取出,在新的顺序序列中对比找到对应位置插入。 比如:我们要对数组 a = [40, 65, 30, 55, 20];进行从小到大排序?换了电脑缺少工具,使用Word+Windows的画图 完成,顺序如下:我们每次从数组中取出一个数,通过比较,并将它插入数组中正确的位置。下面将通过代码的形式://目标排序数组a = [40, 65, 30, 55, 20];

2017-01-26 00:24:35 238

原创 Objective-C 属性(2)

上一篇中我们定义属性使用copy,@property里面各种各样的配置到底是什么呢,我们该如何使用?其中atomic, nonatomic, readonly, readwrite, assign, retain, copy 这些关键字有什么用呢?我们看看下面的代码:@interface Person:NSObject{@property(nonatomic,copy) NSString *nam

2017-01-24 21:15:03 242

原创 Objective-C 属性

属性是什么通常意义我们使用类的属性无非两种(getter和setter),访问属性和设置属性这两种。Objective-C(一下简称OC)中的属性也离不开这两点,OC中为属性的访问控制方法(getter和setter)遵循封装的原则,我们不需要知道底层的具体实现,我们只需要按照约定定义使用即可。OC中的属性OC中的属性定义和方法封装时考虑的因素也是非常多,一下我简单列举了一些: - OC中属性要支

2017-01-23 20:47:02 289

原创 实现家庭WiFi网络全覆盖

实现家庭WiFi网络全覆盖春节回家上网,家里面房间多墙壁比较厚导致只有在一个屋子有信号,本文将通过无线中继和有线链接路由的方式对房间进行WiFi信号放大,还有其中路由器的系统的处理。路由器tp-link 升级为 DD-WRT系统。路由器DD-WRT系统刷回原厂系统。家庭WiFi解决方案

2017-01-19 16:42:12 8213

空空如也

空空如也

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

TA关注的人

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