自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rv0p111

学习的脚步

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

原创 ios-换肤简单实现

换肤这个功能在App中是很常见的,比如说有夜间模式啊日间模式等等。还有就是皮肤下来过来,然后换一下。在这里先做一个简单的实现就是我们去点击某个按钮可以去进行相应图片的切换,界面如下所示代码如下所示#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOut

2017-10-31 23:53:35 519

原创 ios-远程推送服务APNs

简单的说一下概念,远程推送通知,其实就是从远程服务器推送给客户端的通知是需要联网的。远程推送服务又称为APNs全称为Apple Push Notification Services其实现实App中有很多这样的例子,就比如说用户关闭了app之后,肯定就无法和app的服务器沟通了,无法从服务器上去获取数据了这个时候我们就需要远程推送通知了,也就是说不管用户有没有打开app,只要联网了,都能

2017-10-31 09:14:20 492

原创 ios-判断应用程序是否处在前台

有的时候我们可能需要去判断当前应用程序是否处于前台,然后做一些操作,比如说可能在通知中会用到那么我们应该怎么去做?UIApplication有一个applicationState属性,我们可以根据这个来判断。这个state总共有三个状态,一个是激活状态,一个是将要激活状态,还有一个是后台状态 UIApplicationStateActive, UIApplicationSt

2017-10-30 19:22:08 6121

原创 ios-利用本地通知跳转到应用程序指定界面

我们如果想要点击按钮跳转到相应的界面的话我们可以这么做,举个例子,就拿UITabBarController来说事,控制器如下所示比如说我们在前台的时候,我们可以通过发送通知就能实现应用程序的跳转,我们可以发送以下的通知,然后去拼接UNMutableNotificationContent的userInfo内容,我们可以把下面的代码添加到一个UIButton的点击方法中。 UNMuta

2017-10-30 18:46:36 944

原创 ios-ios10设置本地通知

iOS10新增了UserNotificationKit框架,下面就简单的总结下,我遇到的用法以及一些知识点首先我们要去请求用户的权限,请求授权,一般来说我们是在didFinishLaunchingWithOptions 这个方法中调用的,下面设置了这个通知中心的代理,那么appDelegate中要遵守这个协议- (BOOL)application:(UIApplication *)ap

2017-10-30 14:39:29 721

原创 ios-实现二维码扫描功能

在此就简单的介绍下二维码扫描功能的实现把首先先说下思路,我们需要去配置的就是  1、输入设备(用来获取外界信息),输入设备有摄像头、麦克风、键盘  2、输出设备(将收集到的信息进行解析去获取收到的内容)  3、会话的session(用来连接输入和输出的设备),不然的话你输入和输出设备都是独立的没有个连接  4、展示输入设备所采集的信息我们可以定义以下的属性//1、输入设

2017-10-29 17:58:16 479

原创 ios-动态调试注意点

1、我们在使用动态分析工具进行测试的话最好是使用真机,不要用模拟器,因为模拟器的性能跟电脑的配置是挂钩的,一些性能方面的问题,我们可能得不到一个很好的判断就比如说Mac的GPU和手机的GPU肯定是不一样的,所示测试出来的效果肯定会有差异。2、所以我们在测试的时候,应该去使用release模式,release模式下,进行了各种优化,代码会变得精简,一些调试的代码不会输出,速度变快。

2017-10-29 08:58:31 458

原创 ios-Xcode中的Analyze功能

在Xcode中有这么个功能Analyze,如下所示,我们可以称之为是静态代码分析工具它主要会分析下面这四个问题1、内存泄漏问题,比如说有些循环引用,它可以检测的出来,静态内存分析由于是编译器根据代码进行的判断, 做出的判断不一定会准确2、声明错误,比如说从未使用过的变量3、逻辑错误:访问空指针或未初始化的变量等4、Api调用错误:未包含使用的库和框架目前第四

2017-10-28 20:26:16 913

原创 Swift-便利构造函数和指定构造函数继承关系

这里先给出两个类,一个是Person类,一个是Student类import Foundationclass Person{ var name:String var weight:Double var height:Double //构造函数  init(name:String) { self.name = name...

2017-10-28 19:24:16 592

原创 ios-git指令

我们如果想要知道git有什么指令,可以在终端中输入git help想要查看某个指令的帮助的话,我们可以使用git help commit 就是去查看这个commit指令的操作文档了我们如果已经可以看到这个文档了,我们想要去查看这个文档中有我们指定的关键字的可以用一个/ 加关键字这里我拿clone举个例子,比如说我们输入了git help clone,出现的东西如下所示我们下

2017-10-27 09:36:52 426

原创 ios-应用程序间循环跳转

如果我们在A程序中跳到了B程序中,想在B程序中点击一个按钮重新去调回A程序的话我们就需要去设置A程序中得到URL Schemes,然后一样的方法调用Open URL方法就可以了。但是这有个不好的地方,那就是说如果我们需要在B程序中跳转很多个应用,我们都需要去手写这样会很累,所以我们一样可以通过在A中设置跳转到B的指定的页面的时候,通过A中设置的那个weinxin:// 这个//后面进行

2017-10-26 19:22:17 287

原创 ios-应用程序跳转到指定的页面

如果我们想要app A跳转到app B的某个指定的控制器,我们可以通过给跳转的URL Schemes中传入参数进行设置。因为之前就说了其实URL Schemes和URL很像,前面是协议头后面是路径。关于应用程序跳转以及 URL Schemes的解释可以看我的另外一篇文章http://blog.csdn.net/zcmuczx/article/details/78352783我们如果想让

2017-10-26 17:56:44 313

原创 ios-应用程序间跳转

在iphone中的应用程序跳转,首先有一个概念我们需要知道的是URL Scheme,应用程序其实是根据网址的形式去找到程序的。URL Scheme就是一个协议头。还有就是在Windows下面,我们通过创建快捷方式,然后点击这个快捷方式,就可以打开应用程序其实是因为我们安装了这个应用程序,这个应用程序是有相应的路径的,所以我们点击的时候系统也就知道去哪里去打开了我们在ios中也可以给每一

2017-10-26 13:34:12 497

原创 数据库-SQL语句

在SQL语言中,我们可以通过CREATE DATABASE去创建数据库,语法格式如下所示CREATE DATABASE 数据库名就比如我们可以创建一个学校数据库CREATE DATABASE SchoolDB创建表的操作CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,.......)例子如下所示,后面括号里面的值是指定了某些列定

2017-10-25 20:12:27 355

原创 ios-OAuth授权和SSO授权

SSO授权的前提是必须要有对应的第三方程序,这样你才可以去授权。SSO其实就是Single Sign On,单点登录的意思,当用户安装了相应的第三方软件并且已经登录了,那么我们在采用SSO登录的时候就不需要用户再去输入用户名和密码了第三方登录主要就是简化了用户登录的流程,通过用户已经有的账号比如说QQ,微信之类的账号进行登录。我们的软件采取第三方登录的,如果我们想让自己的服务器也保存用

2017-10-25 19:15:33 357

原创 ios-ios11去除Social Framework

以前我们可以通过Social Framework来做一个社交的分享,但是在ios11出来之后,苹果去除了这个框架。我们之前做社交分享时,可以直接这么使用,但是你需要在设置里面去配置账号,而且只能分享到微博类的应用-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ //1、判断系统服务是否可用 i

2017-10-25 07:32:27 2307

原创 ios-实现两个地点画线相连

我们应该可能都用过一些健身类的app,都会有在你跑步的起点和终点给你跑步的路线进行画线,如果我们也要实现这个功能我们可以做如下的步骤1、创建地理编码对象2、调用方法去获取地标3、获取CLPlacemark对象4、创建MKPlaceMark5、创建MKMapItem起点位置6、创建MKMapItem终点的位置7、创建方向请求的对象8.、创建方向对象9、计算两个点之

2017-10-24 00:51:04 1361

原创 ios-跳转到苹果自带地图进行导航

在某些应用中可能会出现,我们输入某个位置,然后点击导航,会跳到苹果自带的地图中进行导航,这应该怎么做?其实很简单,首先我们需要根据输入的地名进行地理编码,得到地标对象,然后再一步步的调用方法,最后再调用[MKMapItem的一个类方法openMapsWithItems,具体代码实现如下,其中startGuide是开始导航按钮被点击的监听方法#import "ViewController.h

2017-10-23 23:35:36 3085

原创 ios-自定义大头针的掉落效果

如果我们想要把大头针在地图上显示出来,我们想做动画的话,一般来说都是在下面这个代理方法中做的,这个方法会在添加大头针的时候会去调用,并且在会在大头针出现之前。-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views在调用这个方法前会去调用下面这个方法,返回大头针view-(MKAnnotati

2017-10-22 23:44:44 627

原创 ios-自定义大头针的样式

我们如果想自定义大头针的话,我们可以这么做。首先我们要知道的是当我们调用了下面这条语句去添加大头针模型的时候,会去调用一个代理方法 [self.mapView addAnnotation:annotation];代理方法如下所示,只要我们添加了大头针模型,就会来到下面这个方法,我们要进行设置并且返回对应的View-(MKAnnotationView *)mapView:(MKMapView

2017-10-22 20:25:56 1381

原创 ios-MKMapView上添加大头针

在MKMapView上添加大头针有如下几个步骤首先我们都知道我们在MapView中获取我们的位置的时候,那个蓝色圆点其实就是一个大头针,有一个对应的大头针模型MKUserLocation同理我们如果要创建自定义的大头针,也应该有一个模型类,所以这个时候我们需要自己去创建一个大头针模型类在这个模型类当中,我们需要去让它遵守这个协议,然后在这个协议当中的具体内容如下所示,也就是说我们必须要

2017-10-22 18:29:41 914

原创 ios-MapKit在ios9新增加的属性

一个是设置是否显示指南针,默认就是开启的,在我们旋转地图的时候就会看见右上角会出现一个指南针@property (nonatomic) BOOL showsCompass NS_AVAILABLE(10_9, 9_0) __TVOS_PROHIBITED;当我们点击这个指南针的时候,会自动恢复向北的朝向还有个就是是否显示比例尺,需要我们自己去开启@property (nonatom

2017-10-22 15:53:13 296

原创 ios-@import和#import

在Xcode5以后,我们就可以不用再去在如下图所示的的Linked Frameworks and Libraries中去显式的添加frameword了Xcode5以后有三个新东西modules、AutoLinking和@import,原本我们之前导入头文件都是使用#import,这个就是和include的作用差不多就是相当于把头文件的内容复制过来,然后把本身的#import的头文件那句话给替换掉。...

2017-10-22 10:55:43 5012

原创 ios-临时获取后台定位权限

在ios9的时候增加了一个新特性,就是说我们可以一开始不去指定始终的去获取位置,也就是说先指定前台获取位置然后如果在我们需要的时候,我们可以自己去设置一个属性就可以去临时的获取这个权限。self.manager.allowsBackgroundLocationUpdates = YES;这样在后台就可以去获取它的位置,然后当我们获取把程序切入后台的时候,状态栏那边会有蓝条显示需要注

2017-10-22 00:23:16 1013

原创 ios定位授权

定位授权有两种一种是requestWhenInUseAuthorization,前台可以获取位置requestAlwaysAuthorization 这个是前台和后台都可以获取。我们需要在后台去配置plist文件,如下所示

2017-10-21 23:10:45 1073

原创 ios-MapKit的使用

在MapKit框架中有这么一个控件叫做MKMapView在使用它时我们需要导入一个头文件#import 在MKMapView中我们可以通过mapType来设置地图的类型MKMapTypeStandard,标准MKMapTypeSatellite,卫星地图MKMapTypeHybrid,鸟瞰混合ios9之后新增加的两项:MKMapTypeSatelliteFlyove

2017-10-21 14:44:58 485

原创 ios-地理编码和反地理编码

在ios中,我们可以通过利用Core Location框架中的CLGeocoder去完成地理编码和反地理编码。其中的地理编码就是通过给定的地名,获取具体的位置的信息反地理编码就是根据给定的经纬度去获取具体的位置信息。地理编码的应用如下#import "ViewController.h"#import @interface ViewController ()//输入的地址@p

2017-10-20 13:16:48 703

原创 ios-Core Location框架

现在的app中基本都会有定位功能,如果要实现定位工程的话其实就是基于Core Location框架来做的。如果我们要使用Core Location框架直接导入头文件就可以使用了#import 具体使用步骤的话如下所示1、创建Core Location的管理者CLLocationManager2、设置Core Location的管理者的代理,实现监听方法3、开始获取位置,或者开始

2017-10-19 17:12:09 261

原创 数据库-关系运算

数据库中的关系运算包括选择、投影、连接、除等。1、选择选择又称限制,其实就是在关系R中选择满足给定条件的诸多元组,元组其实就是表中的一行数据称为元组。其实选择运算就是从一个关系,比如说关系R中选取可以使你列出来的逻辑表达式为真的元组。选择运算是以行的角度去进行运算的就比如说你有一份学生信息表格,里面有学生的姓名,学号,性别,我们想要取出这里面的所有的男生的话,我们就需要去定义一个表

2017-10-18 11:29:16 2757

原创 数据库-E-R图

摘抄文档:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实

2017-10-17 19:35:39 20645 2

原创 ios-TextKit框架基础

iOS7之后引入TextKit框架,能够很方便的可以通过方便的接口去修改文字的样式和排版,解决图文混排的问题。而在ios7之前解决起来都会比较的困难。TextKit中有三个比较重要的对象1、NSTextStorage,是NSMutableAttributedString的子类,专门用来存储文本的和管理控件的属性文本,NSTextStorage引用着NSLayoutManager,当NSTe

2017-10-17 17:51:42 432

原创 ios-闭包的写法

在这里想简单的介绍下一个函数,由其来引申出闭包的使用这个方法就是利用数组过滤的方式,这段函数的意思就是从package的emoticons数组中根据em,chs是不是等于哈哈这个字符串如果是的话,那么就往这个过滤的函数的返回值数组中增加一个元素这个函数的简介如下if let emoticon = package.emoticons.filter({ (em) -> Bo

2017-10-16 23:27:43 391

原创 ios-正则表达式基础

正则表达式能在多语言里通用。在ios中我们可以用正则表达式来做文字的匹配的。在这里我就记录下,我所用到的三个符号.  用来匹配任意字符,换行除外*  用来匹配任意多的字符? 用来匹配尽量少的字符在Xcode中的一个功能我们也可以使用正则表达式如下图所示我们需要先按command + shift + F 然后点击最后面的那一栏会出现一个Regular Expressi

2017-10-16 18:30:29 282

原创 ios-日期转换

不知道为什么,日期转换这个知识点,总是感觉自己老是忘,感觉现在也需要记录下,总结下首先如果我们要让日期字符串按照我们想要指定的格式输出的话,我们需要先创建一个格式化器let dateformatter = DateFormatter()然后我们需要指定下格式化器的环境,在这个环境下输出相应的时间。我们一般设置为en就可以 dateformatter.locale = Locale(id

2017-10-16 16:55:56 326

原创 ios-Swift实现自定义输出

在OC中我们要实现在Debug的状态下输出在Release状态下不输出的话,这个是比较好实现的,就是添加pch文件,然后配置下pch文件,然后在pch文件中添加一段话就可以了。关于OC中的实现可以参考这篇文章 http://blog.csdn.net/zcmuczx/article/details/76215481 但是在Swift中就不一样了。在Swift中我们可以先创建一个空白

2017-10-15 23:34:42 414

原创 ios-Alamofire上传文件

在Alamofire中上传文件其实相比较AFN文件中难了很多,复杂了很多,应该是作者也为了保证链式响应这个特点,所以我们用起来就得一步一步跟着官方文档去做。代码如下这里先附上官方文档对于文件上传的解释,第一个仅仅是上传了一个二进制数据,第二个是获取文件的url,然后把文件进行上传,第三个就是拼接二进制数据,然后再进行上传解释下我们这里要上传文件的话就要去拼接数据,这里拼接数据是有讲

2017-10-15 21:13:13 2272

原创 ios-Alamofire的简单使用

关于这个框架其实是AFN的作者Matt Thompson用Swift写的一个轻量级别的网络框架。在接收全新的框架之前,我觉得我们第一时间要去做的就是去阅读官方文档,以及去下载官方的示例程序。废话不多说,先记录下自己的一些使用情况和一些笔记。发送网络请求的方法,其中参数1:传入url地址参数2:传入发送请求的方式参数3:发送请求的参数参数4:指定服务器支持的编码的格式,如

2017-10-15 14:14:49 1087

原创 ios-SDWebImage清除缓存机制

我们都知道SDWebImage默认清除磁盘缓存的时长是7天。那么SDWebImage是如何进行操作的?我们进入SDImageCache的头文件,会发现有这么一段代码[[NSNotificationCenter defaultCenter] addObserver:self selector

2017-10-14 20:52:24 1538

原创 ios-SQLite的insert OR replace语法

在实际开发中,如果我们想让应用程序一启动,去网络上获取数据,然后把这些刷新到的数据保存到本地的话,然后我们过了很短的时间把这个程序给退了,如果我们又点开,程序又去获取数据去刷新数据,这个时候假设又来了20条数据,那这个20条数据当中包含了我们上一次刷新到的保存到本地的数据,而我们如果直接调用SQLite的Insert语句来插入数据的话,这样的话数据库存储就会出现问题。所以这个时候有一条SQL语句可

2017-10-14 14:40:27 945

原创 ios-FMDB多线程的使用技巧

先看一段代码 dispatch_queue_t queue1=dispatch_queue_create("hh", DISPATCH_QUEUE_SERIAL); dispatch_queue_t queue= dispatch_queue_create("hl", DISPATCH_QUEUE_CONCURRENT); for(int i=0;i<10;i++) {

2017-10-14 08:10:38 753

空空如也

空空如也

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

TA关注的人

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