自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NSNotificationCenter 通知中心

通常我们在iOS中发生什么事件时该做什么是由Delegate实现的,例如View加载完后会触发ViewDidload.苹果还为我们提供了另一种通知响应方式 那就是NSNotificationCenter 与Delegate比较 NSNotificationCenter可以实现更大跨度的通信机制 可以为两个无引用关系的两个对象进行通信。 NSNotitficationCenter的通信原理使用

2016-06-04 19:55:33 329

转载 UIView中的坐标转换

// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 // 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 - (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view; // 将像素point从view中转换

2016-07-02 11:12:01 253

转载 UITextView的使用详解

//初始化并定义大小 UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 30)];textview.backgroundColor=[UIColor whiteColor]; //背景色textview.scrollEnabled = NO; //当文字超过视图的边框时是否允许滑

2016-06-12 14:44:54 249

原创 TableView的重用机制

这里,先说一下重用是如何实现的,加入我们有一个很长的tableview,假设是100行,但在我们设计的行高情况下,屏幕 只能显示4行,所以,当加载view的时候,实际我们需要创建5各cell,只这4个cell是静态显示,当我们用手指向上滑动即下方的第5个cell向上滑进界面的过程中,我们发现第一行的cell会滑出界面,当滑出后,第一行这个cell对象会被放到对应重用标示符重用队列中,第5行显示在屏幕

2016-06-04 20:13:46 585

原创 KVO

KVO是Objective-c对观察者模式(Obsever Pattern)的实现。也是Cocoa Binding的基础。当被观察者对象的某个属性发生改变时会获得通知。KVO的内部实现:(面试问题) KVO的实现依赖于Runtime 当你观察一个对象时,一个新的类会被动态创建。这个类继承自该对象原本的类,并重写了被观察属性的setter方法。自然,重写的setter方法会负责在调用原setter

2016-06-04 17:24:05 292

原创 使用AVPlayer播放视频

iOS里面视频播放用到的是AVPlayer(包含在AVFoundation框架内)与AVAudioplayer有点类似 但是AVPlayer得功能跟加强大,他可以用来播放音频也可以用来播放视频 而且在播放音频方面能直接播放网络音频。 要使用AVPlayer播放视频 要引入这两个头文件:#import <AVFoundation/AVFoundation.h>#import <AVKit/AV

2016-06-04 09:32:33 8381

原创 DataPicker 日期选择器

这里实现的是当没有进行选择的时候 dataLabel显示当前的时间 当进行选择后它显示选择的时间 具体代码如下:@interface ViewController ()@property (nonatomic, strong) UIDatePicker *dataPicker;@property (nonatomic, strong) UILabel *dataLabel;@end@imp

2016-06-02 22:43:15 559

原创 Sqlite数据库

这里我把数据库做成了单例 方便使用//注意 在使用之前要添加依赖库 libsqlite3.0tbd在.h里主要写暴露给外部的方法 代码如下:@interface DataBaseHandle : NSObject// 把这个类写成单例 方便外部使用+ (DataBaseHandle *)shareDataBaseHandle;//打开数据库- (void)openDataBase;//关

2016-06-02 22:31:29 210

原创 复杂对象的本地持久化

这里以Person类对象为例 先创建一个Person类 Person.h@interface Person : NSObject<NSCoding>// 注意一定要遵循NSCoding协议///姓名@property (nonatomic, copy) NSString *name;///性别@property (nonatomic, copy) NSString *gender;//

2016-06-02 22:13:02 254

原创 简单数据的本地持久化

pragma mark - 将NSString类型的数据存储到本地//1. 需要知道这个对象存在哪里 所以需要一个文件夹的路径NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];//2.创建要存储的内容

2016-06-02 18:02:02 294

原创 iOS属性语义设置

属性分为3类:1.读写属性(Writability)包含:readwrite / readonly2.setter语义(Setter Semantics)包含:assign / retain / copy ARC状态下retain改为了Strong3.原子性(Atomicity)包含:nonatomic下面具体说明各个属性的含义readwrite / readonly:决定是否生成set访问

2016-06-02 17:54:33 587

原创 通过URL获取图片

第一种方式:官方提供的方法 异步获取图片,通过队列实现,而且图片会有缓存,在下次请求相同的连接的时候 系统会自动调用缓存 而不从网上请求数据UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 100.0f, 100.0f, 100.0f)]; [imageView setImageWith

2016-06-02 16:53:13 1559

原创 AFNetworking

AFNetworking是在iOS开发中使用非常多的网络开源库 适用于iOS以及Mac OS X 它构建与NSURLConnection NSOperation以及其他熟悉的Foundation技术之上 AFNetworking是一个轻量级的网络请求API类库 目前AFNetworking使用NSURLSession作为网络类!!!!AFNetworking可以进行网络监测://开始监测

2016-06-02 16:38:08 586

转载 CoreAnimation动画

Core Animation的使用步骤如果不是xcode5之后的版本,使用它需要先添加QuartzCore.framework和引入对应的框架开发步骤:1.首先得有CALayer2.初始化一个CAAnimation对象,并设置一些动画相关属性3.通过调用CALayer的addAnimation:forKey:方法,增加CAAnimation对象到CALayer中,这样就能开始执行动画了4.通过调用C

2016-06-01 22:30:56 240

原创 SQL语句语法

语法 1.创建表: create table 表名(字段1 约束1 约束2 , 字段2 约束1 约束2); craete table if not exists 表名(字段1 约束1 约束2, 字段2 约束1 约束2); 例如 craete table if not exists student(s_id integer primary key autoincrement not null

2016-06-01 21:59:32 261

原创 NSURLSession

在WWDC2013中 苹果团队推出了NSURLSession (iOS 7) 网络数据请求 1 . get请求宏定义url#ifndef URL_h#define URL_h#define GET_URL @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=2013112

2016-06-01 21:46:20 199

原创 GCD多线程

GCD是苹果开发的一种多核编程技术 主要用于优化应用程序以支持多核处理器以及其他对称多处理系统 GCD提供函数实现多线程开发 性能更高 功能也更加强大 首次发布在Mac OSX 10.6, iOS4及以上版本可用GCD核心慨念 1任务:具有一定功能的代码段 (一般是一个BLOCK或者函数) 2分发队列:GCD以队列的方式进行工作FIFO(先进先出) 3.GCD会根据分发队列的类型 创建合适

2016-06-01 20:18:30 538

原创 UIViewController生命周期方法执行顺序

为了方便描述 假设有两个视图控制器 一个AVC 一个BVC 通过navgationController的push实现AVC 到BVC的跳转 现在来看一下AVC 和 BVC生命周期的方法是怎样一个执行顺序。 1. AVC viewDidLoad 2. AVC viewWillAppear 3. AVC viewDidApper 4. BVC viewDi

2016-06-01 17:48:50 287

原创 三方 FMDB

iOS中原生的SQLite API在进行数据存储的时候 需要使用C语言中的函数 操作比较繁琐 于是出现了一系列将SQLite API进行封装的库 FMDB就是其中一种 FMDB 使用OC封装的 简单易用 并且他对于多线程的并发操作进行了处理 所以线程是安全的 但也因为使用OC封装的所以只能在iOS开发的时候使用 在实现跨平台操作的时候存在局限性 FMDatabase : 一个FMDatab

2016-06-01 10:42:01 228

原创 iOS应用内跳转系统设置相关界面的方法

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值 如图: 跳转系统设置根目录中的项目使用如下的方法: _array = @[ @{@”系统设置”:@”prefs:root=INTERNET_TETH

2016-05-31 22:23:35 354

原创 UIAlertController 提示框

在这里创建一个View 在view上添加长按手势 通过长按手势触发弹出提示框 (目的只是为了示范 实际应用中大家根据实际情况自己安排触发的方法)在外部定义一个UIView 然后把这个View设置为viewController的根视图 (当然也可以全部在控制器完成) RootView.h#import <UIKit/UIKit.h>@interface RootView : UIView@pr

2016-05-31 22:00:52 223

原创 地图(有界面 自定义大头针)

创建一个继承与NSObject的类 .h中的代码如下: 引入框架 遵循协议 重写协议中的三个属性#import <Foundation/Foundation.h>#import <MapKit/MapKit.h>@interface MyAnnotation : NSObject<MKAnnotation>//重写协议中的三个属性 coordinate title subtitle//

2016-05-31 16:59:20 384

原创 地图(无界面的 简单功能)

首先引入库的头文件//引入库的头文件#import <CoreLocation/CoreLocation.h>需要遵循的代理 以及声明所要用到的属性@interface ViewController ()<CLLocationManagerDelegate>//定位管理器@property (nonatomic, strong) CLLocationManager *manager;//编

2016-05-31 16:42:24 351

原创 cocoaPods安装及使用

打开电脑终端第一步:查看自己电脑的Ruby环境 打开终端输入 gem sources -l 如果已经是taobao镜像了 此时不需要进行环境的更改了 如果不是需要将当前的镜像移除 输入指令: https://rubygems.org/ removed from sources 紧接着使用淘宝的镜像 输入: gem sources -a https://ruby.taobao.org/第二步

2016-05-27 17:51:18 356

原创 --MD5 数据加密--

MD5: Message Digest Algorithm MD5 为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5算法是哈希算法的一种 其具有以下特点: 1.压缩性 任意长度的数据,算出的MD5值长度都是固定的(16进制, 32位)。 2.容易计算 从源数据计算出MD5值很容易 3.抗修改性 对原数据进行任何改动,哪怕只改1个字节,所得到的MD5值都有跟大区别。

2016-05-12 22:47:22 416

空空如也

空空如也

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

TA关注的人

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