自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Runtime

Runtime转载于:https://www.cnblogs.com/HJiang/p/9601201.html

2018-09-06 21:45:00 135

转载 事件响应链

事件响应链转载于:https://www.cnblogs.com/HJiang/p/9601164.html

2018-09-06 21:38:00 168

转载 微信数据存储WCDB for iOS/macOS

WCDBWCDB是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS。WCDB for iOS/macOS基本特性易用,WCDB支持一句代码即可将数据取出并组合为object。WINQ(WCDB语言集成查询):通过WINQ,开发者无须为了拼接SQL的字符串而写一大坨胶水代码。ORM(Objec...

2018-01-10 20:28:00 381

转载 WKWebView使用过程的遇到的一些问题记录/webView结合Safari调试

WKWebView加载问题- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL API_AVAILABL...

2017-12-01 15:52:00 398

转载 UIWebView使用之JavaScriptCore

UIWebView使用JavaScriptCore实现JS与OC互相调用,。它是从iOS7开始加入的,用 Objective-C 把 WebKit 的 JavaScript 引擎封装了一下,提供了简单快捷的方式与JavaScript交互。1、简要介绍JavaScriptCoreJavaScriptCore是一个iOS 7 新添加的框架,使用前需要先导入JavaScriptCore...

2017-11-14 14:39:00 198

转载 WKWebView使用之MessageHandler

使用WKWebView的时候,如果想要实现JS调用OC方法,除了拦截URL之外,还有一种简单的方式。那就是利用WKWebView的新特性MessageHandler来实现JS调用原生方法。MessageHandler 是什么?WKWebView 初始化时,有一个参数叫configuration,它是WKWebViewConfiguration类型的参数,而WKWebView...

2017-11-14 14:38:00 449

转载 JS与OC相互调用的基本使用

JS调用原生OC篇方式一第一种方式是用JS发起一个假的URL请求,然后利用UIWebView的代理方法拦截这次请求,然后再做相应的处理。我写了一个简单的HTML网页和一个btn点击事件用来与原生OC交互,HTML代码如下:<html> <header> <meta http-equiv="Content-Type"...

2017-11-14 14:36:00 135

转载 WKWebView的基本使用/拦截URL/Alert弹窗/禁止选择操作/内容字体大小控制

WKWebView是iOS 8推出,输入WebKit.framework, UIWebView属于UIKit.framework; WKWebView相对UIWebView优化了很多,特别是内存的消耗.经测试通过UIWebView和WKWebView分别访问http:www.baidu.com,App正常启动后内存平稳在42M,点击按钮使用UIWebView加载baidu内存最高...

2017-11-14 14:33:00 974

转载 UIWebView的基本使用/拦截URL/禁止选中/alert弹框

UIWebView的基础使用CGRect bouds = [[UIScreen manScreen]applicationFrame];UIWebView* webView = [[UIWebView alloc]initWithFrame:bounds];属性:@property (nonatomic) BOOL scalesPageToFit; // 是...

2017-11-14 14:32:00 248

转载 iOS企业版app部署到自己服务器,不通过AppStore,在iOS设备上直接安装应用程序

iOS企业版app部署到服务器.正对ios升级得ios7 以后,plist文件必须放到 https得服务器上了,http不可以用了部署具体过程准备文件:plist文件,ipa安装包,html下载页面.plist参照模板如下<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PU...

2017-11-13 15:55:00 400

转载 CoreData数据库加密

iOS App 如果使用sqllite数据库存储,就存在数据库安全问题,可以采用一定方式对数据库文件加密或内容进行加密.以下是一些加密的思路和加密方式1.对数据库文件进行加密2.对存储的内容进行加密,比如对某些重要字段进行加密,加密方式可以采用AES ,Base64,MD5等,其中MD5加密不可逆.以下内容采用SQLCipher对CoreData数据库内容进行加密...

2017-11-11 15:23:00 142

转载 CoreData版本升级数据迁移

CoreData数据库结构升级和数据迁移app中使用了CoreData,并且在下一个版本中有实体变动,比如实体新增字段、修改字段等改动,那么app在覆盖安装时就要进行数据库迁移,否则app就会crash数据库迁移步骤1.选中.xcdatamodeld文件,然后点击Xcode菜单editor->Add Model Version比如取名:Model.xc...

2017-11-11 15:22:00 156

转载 CoreData查询

待续转载于:https://www.cnblogs.com/HJiang/p/7819120.html

2017-11-11 15:21:00 106

转载 CoreData基本使用

CoreData简介CoreData是一门功能强大的数据持久化技术,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。CoreData提供数据--OC对象映射关系来实现数据与对象管理,这样无需任何SQL语句就能操作他们。CoreData数据持久化框架是Cocoa API的一部分,⾸次在iOS5 版本的系统中出现,它允许按照实体-属性-值模型...

2017-11-11 10:29:00 153

转载 网络请求connection session

网络请求:NSURLConnection发送同步请求:nsurlconnection发送同步请求是阻塞式,会阻塞当前线程发送异步请求:nsurlconnection发送异步请求底层是开启子线程发送请求,回调默认是在主线程中回调,如果需要在子线程中回调可以设置代理队列setDelegateQueue:子线程队列.PS:请求大的响应数据时使用delegate方式...

2017-09-18 22:37:00 108

转载 开发常用小知识点记录

过时属性和方法提示DEPRECATED_ATTRIBUTE 标识属性或方法过时@property (assign, nonatomic) BOOL isLoading DEPRECATED_ATTRIBUTE;- (instancetype)initFromURLWithString:(NSString *)urlString completion:(JSO...

2017-09-16 19:32:00 129

转载 NSObject中类方法load/initialize加载时机和作用

方法调用时机相同点: 程序启动都只会执行仅且一次,再次怎么调用使用类都不会执行了.不同点: 方法调用时机不一样.> + load程序启动类加载时就会调用,不管该类是否有使用或有Import都会执行> + initialize 程序启动后,只有类使用时都会触发,包括调用类的类方法或对象方法; 包括该类的创建对象,创建对象在调用类方法alloc, 比如:[Drvi...

2017-09-09 17:13:00 165

转载 GCD dispatch_source基本使用,创建GCD定时器与NSTimer的区别

可以使用GCD创建定时器创建定时器: dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYP...

2017-09-09 11:19:00 189

转载 Runtime

Runtime是什么?runtime是OC底层的一套C语言的API(引入 <objc/runtime.h> 或<objc/message.h>),编译器最终都会将OC代码转化为运行时代码,底层是通过runtime创建的对象.另外利用runtime 可以做一些OC不容易实现的功能.动态交换两个方法的实现(特别是交换系统自带的方法).动态...

2017-09-04 23:16:00 397

转载 Runloop运行循环的理解

runloop运行流程图系统默认注册了5个Mode:kCFRunLoopDefaultMode:App的默认Mode,通常主线程是在这个Mode下运行UITrackingRunLoopMode:界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响UIInitialization...

2017-09-04 23:00:00 134

转载 GCD dispatch_apply基本使用

dispatch_apply,可以并发的循环迭代,性能上可以提高,前提是循环不在乎迭代的顺序 dispatch_queue_t queue = dispatch_queue_create("HJiang", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ dispatch_ap...

2017-09-02 21:20:00 189

转载 GCD信号量semaphore控制线程并发数

GCD提供了信号semaphore来控制线程并发数,提供一下三个函数dispatch_semaphore_create(<#long value#>) // 创建信号semaphore,value参数为任务并发同时执行时线程最大并发数dispatch_semaphore_wait(<#dispatch_semaphore_t _Nonnull dsema#...

2017-09-02 20:43:00 351

转载 多线程GCD dispatch_once_t/dispatch_barrier_<a>sync/dispatch_group_t

dispatch_once在dispatch_once block中的代码在程序启动到程序退回只会执行一次,如:不管for循环多少,只会一次打印for (int i = 0; i<10; i++) { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ ...

2017-09-01 18:02:00 164

转载 iOS开发常用宏定义

//获取屏幕 宽度、高度#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)// 根据版本号导入文件#ifdef NSFoundationVers...

2017-09-01 11:04:00 100

转载 OC方法可变参数

OC可变参数:- (void)executeSql:(NSString *)sql,... __attribute__((sentinel)){ NSMutableString *result = [NSMutableString stringWithFormat:@"%@",sql]; va_list params;//定义一个指向个...

2017-09-01 11:01:00 245

转载 GCD的基本使用

GCD全称Grand Central Dispatch,是Apple提供的一套底层API,提供了一种新的方法来进行并发程序编写,它的API包含在libdispatch库中.觉得需要理解GCD中的三个要点:1.同步异步(sync,async)sync表示同步,不会开启新线程,任务是在当前线程中执行; async表示异步,具备开启新线程的能力,具体是否开启新线程需要看队列,比如:...

2017-08-29 14:51:00 94

转载 iOS实用小工具

.计算时间间隔多少秒,可以使用到计算程序代码执行时间方式1: CFTimeInterval begin = CFAbsoluteTimeGetCurrent(); for (NSInteger i = 0; i< 5000; i++) { NSLog(@"123456"); } CFTimeInterval end ...

2017-08-25 00:02:00 91

转载 项目中实用第三方框架

综合项目 iOSProject国内优秀框架 YYKitYYKit 是一组庞大、功能丰富的 iOS 组件。为了尽量复用代码,这个项目中的某些组件之间有比较强的依赖关系。为了方便其他开发者使用,我从中拆分出以下独立组件:YYModel — 高性能的 iOS JSON 模型框架。YYCache — 高性能的 iOS 缓存框架。YYImage...

2017-08-22 17:19:00 264

转载 NSTimer内存泄漏问题

使用NSTimer的时候可能存储内存泄漏问题,例如:当控制器销毁时,会发现dealloc没有被调用,问题的原因在于timer对控制器对象有强引用,即使是使用了weakSelf#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) NSTi...

2017-08-08 19:02:00 171

转载 CocoaPods安装,iOS程序第三方框架的依赖管理

每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。CocoaPods 的安装和使用介绍安装如果你的 gem 太老,可能也会有问题,可以尝试用如下命令升级 gem:sudo gem update -...

2017-07-24 12:24:00 131

转载 监听键盘frame变化

/** * 监听键盘的弹出和隐藏 */- (void)keyboardWillChangeFrame:(NSNotification *)note{ // 键盘最终的frame CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; ...

2017-05-30 23:25:00 136

转载 iOS 中setNeedsDisplay,setNeedsLayout,layoutSubViews,layoutIfNeeded等一些方法的使用

layoutSubviewslayoutIfNeededsetNeedsLayoutsetNeedsDisplaydrawRectsizeThatFitssizeToFit大概常用的上面几个 , 具体的应该还有别的。layoutSubviews这个方法,默认没有做任何事情,需要子类进行重写 。 系统在很多时候会去调用这个方法:1.初始化不会...

2017-03-23 23:20:00 378

转载 iOS 圆角效果

方式1.(如果圆角视图比较少并且不复杂可以考虑使用)// 通过view的layer图层进行剪切self.nameLabel.layer.cornerRadius = 5;self.nameLabel.layer.masksToBounds = YES;方式2.(性能可能高点,通过画圆的方式获取image,然后再赋给视图)/** 通过上下文实现画圆...

2017-03-22 22:42:00 65

转载 iOS8以后自动计算cell的高度

前提:1.iOS系统>=82.cell中的每个控件布局固定,不含一些动态的模块,但是可以含有label的变化可以采用tableView自动计算cell的高度首先设置tableView的属性: // cell的高度设置 self.tableView.estimatedRowHeight = 44; // 默认高度 self.ta...

2016-12-27 23:18:00 102

转载 iOS 自定义图片和文字垂直显示按钮<上面是图片,文字显示下面>

#import <UIKit/UIKit.h>@interface VerticalButton : UIButton@end#import "VerticalButton.h"@implementation VerticalButton- (void)setup{ self.titleLabel.textAlig...

2016-10-23 22:18:00 154

转载 iOS代码实现九宫格

#define ScreenW [UIScreen mainScreen].bounds.size.width#define ScreenH [UIScreen mainScreen].bounds.size.height 1 // 数据 2 NSArray *images = @[@"publish-boke", @"publish-weix...

2016-10-23 22:15:00 116

转载 iOS开发】canOpenURLl 和修改http请求

控制台输出如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出。这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译...

2016-03-25 08:54:00 123

转载 JsonString,字典,模型之间相互转换

NSData转字符串[NSString alloc] initWithData: encoding:]模型转字典attInfo.keyValues字典转模型ZTEOutputInfo *outputInfo = [ZTEOutputInfo objectWithKeyValues:responseObject];模型转Json字符串...

2015-12-28 18:53:00 122

转载 oc 单例

单例模式://static id _instace;////+ (id)allocWithZone:(struct _NSZone *)zone//{// static dispatch_once_t onceToken;// dispatch_once(&onceToken, ^{// _instace = [super...

2015-12-28 14:49:00 82

转载 静态库

什么是库?库是程序代码的集合,是共享程序代码的一种方式根据源代码的公开情况,库可以分为2种类型开源库公开源代码,能看到具体实现比如SDWebImage、AFNetworking闭源库不公开源代码,是经过编译后的二进制文件,看不到具体实现主要分为:静态库、动态库静态库和动态库的存在形式静态库:.a 和 .framework动...

2015-03-23 11:42:00 102

空空如也

空空如也

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

TA关注的人

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