kv0的原理和使用
本demo简单的介绍了KVO的含义、原理、注意事项和具体代码
ios WKWebView 的使用和交互
本demo是WKWebView的基本使用和交互 ,实现了原生调用js的方法、js调用原生的方法、通过拦截进行交互的方法;修改内容 加入沙盒 /
/加载沙盒 不带参数
// NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// NSString * path = [paths objectAtIndex:0];
// path = [path stringByAppendingString:[NSString stringWithFormat:@"/app/html/index.html"]];
// NSURL *url = [NSURL URLWithString:[[NSString stringWithFormat:@"file://%@",path] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]] relativeToURL:[NSURL fileURLWithPath:NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject]];
// [self.wkView loadFileURL:url allowingReadAccessToURL:[NSURL fileURLWithPath: [paths objectAtIndex:0]]];
// 带参数
/*
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * path = [paths objectAtIndex:0];
path = [path stringByAppendingString:[NSString stringWithFormat:@"/app/html/index.html"]];
NSURL * url = [NSURL fileURLWithPath:path isDirectory:NO];
NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
[queryItemArray addObject:[NSURLQueryItem queryItemWithName:@"version" value:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]]];
[urlComponents setQueryItems:queryItemArray];
[self.wkView loadFileURL:urlComponents.URL allowingReadAccessToURL:[NSURL fileURLWithPath: [paths objectAtIndex:0]]];
*/
ios CoreData使用(封装)
本demo是数据持久化的一种CoreData,对CoreData进行了封装,实现了增删改查
NSPredicate用法
本demo详细讲解了NSPredicate的使用;例如正则表达的使用、把程序中的一个数组中符合数组中内容的元素过滤出来、其它字符串的使用 BEGINSWITH、ENDSWITH、CONTAINS IN、BETWEEN、和match混合使用 比较问题
ios uicollectionview 横向滚动
ios 实现了一行或多行的横向滚动,可以修改成你想要的行数,每行显示截个;
iOS UICollectionView 实现卡片效果
本demo使用UICollectionView实现了卡片效果,自定义了UICollectionViewFlowLayout,可以修改UICollectionViewFlowLayout的配置使卡片展现不同效果
ios webView获取高度
ios的UIWebView详解,定义、实现delegate、webView和js的交互、原生调用js、js调用原生,三种方法实现获取webView的高度
ios UIWebView使用
ios的UIWebView详解,定义、实现delegate、webView和js的交互、原生调用js、js调用原生
ios 单例模式
ios单例模式的详细解释、两种方式实现单例模式,重写需要实现的方法
ios 界面传值
本demo 实现了通过代理 、通知、block、属性来演示界面直接的传值
iOS 延迟加载
通过performSelector、NSTimer、sleep、GCD四种方法实现了延迟加载;可以根据自己情况选择使用那种延迟方法
ios 数据库 (FMDB使用)
此demo使用单例使用FMDB对数据库进行增、删、改、查;demo实现详细
ios 数据持久化存储
ios 数据存储,数据持久化,包含Preference 、文件存储、归档、数据库 、 CoreData的使用
ios 常见手势
ios 常见手势的定义和实现动画,对各个手势进行了实现
IOS app相互通信
此压缩包中包含两个app 的demo,用于实现两个app的跳转和传值,代码详细;主要是两个项目配置URL Scheme 和 info.plist 文件中的白名单
ios 轮播图
iosUISCrollView的使用,只需要简单的几句代码 就能集成实现轮播图
ios定位CLLocationManager
本文使用了苹果自带的类来实现定位 和反地理编码,简单便捷
ios 百度地图定位
该项目从申请百度秘钥,到百度sdk集成 实现定位 反地理编码功能
ios webView获取html标签
加载webView实现代理 在代理方法中获取html标签的需求 ,对标签中的url进行操作
长按拖拽移动视图
ios项目,自定义视图,然后添加长按 长按视图进行移动
textCocosPods
一个OC写的框架 里面使用了MVVM 还有MVVM的第三方工具等
oc_swift.zip
swift和oc混编demo,通过此demo可以知道oc和swift相互调用和引用 具体博客地址https://blog.csdn.net/u013983033/article/details/110121212
LHDemo.zip
本demo详细描述了系统消息通知的调用,包含后台进前台通知 :UIApplicationDidBecomeActiveNotification 、应用在前台,双击Home键,杀掉调用 ,但是应用在后台,双击Home键, 再终止应用不会被通知 :UIApplicationWillTerminateNotification 、Home键按下通知 :UIApplicationWillResignActiveNotification 、进入后台通知 :UIApplicationDidEnterBackgroundNotification 、第一次点击icon启动项目的时候通知 :UIApplicationDidFinishLaunchingNotification 、内存警告的时候通知 :UIApplicationDidReceiveMemoryWarningNotification 、无论是改变时区还是改变时间 然后重回app的时候通知 :UIApplicationSignificantTimeChangeNotification 、如果只改变时区不改变时间的话不调用,只要改时间才通知 :NSSystemClockDidChangeNotification 、将要改变状态栏方向通知 :
UIApplicationWillChangeStatusBarOrientationNotification 、UIApplicationStatusBarOrientationUserInfoKey 获取当前设备的旋转方向 、改变状态栏方向通知 :UIApplicationDidChangeStatusBarOrientationNotification 、将要改变状态栏frame通知 :UIApplicationWillChangeStatusBarFrameNotification 、改变状态栏frame通知 :UIApplicationDidChangeStatusBarFrameNotification 、UIApplicationStatusBarFrameUserInfoKey 获取当前设备的状态frame、在后台下载内容的应用程序的状态变化时候通知 :UIApplicationBackgroundRefreshStatusDidChangeNotification 、锁屏之后 解锁前的通知 :UIApplicationProtectedDataWillBecomeUnavailable 、在做iOS监听开屏时通知 :UIApplicationProtectedDataDidBecomeAvailable
LHDemoValueForKeyPath.zip
本demo主要讲了几个valueForKeyPath基本用法,写了几个例子供参考学习
LHNSURLSessionDemo.zip
本demo是使用了官方自带的NSURLSession类,实现了 get 请求 、post请求 、简单的下载、断点下载 、下载监听、文件上传 和 AF进行下载
libsted++.zip
Xcode10升级到10.0之后 会报 clang error:library not found for -lstdc++.6.0.9 这个错误 ,是因为Xcode升级到10.0之后,原有的stdc++.6.0.9被废弃,因此上传这个库 ,供出现这个问题的去下载
LHWaterMarkDemo.zip
本demo封装一个View实现了给其它视图添加水印的效果,使用起来方便
LHPreViewDemo.zip
本demo主要是使用了ios自带框架 QuickLook.FrameWork 中的 QLPreviewController来加载显示pdf 、 word 等文本 ,可以保存到icloud文件中,能进行分享等操作 ,可以一下加载多个文本文件进行展示
文件的操作
本demo实现了文件/目录的创建、删除、拷贝、移动、判断文件是否存在、文件的读和写、文件的属性查看、遍历目录下的内容、NSFileHandle的使用
常见的几种加密方法和实现
常见的几种加密方法和实现, SHA1、RSA、AES、 DES、MD5的具体实现
线程之间通信
通过简单的例子实现了线程之间的通信,和常用的方法;
ios多线程开发的常用四种方式和基本使用
ios多线程开发的常用四种方式和基本使用,pthread、NSThread、NSOperation\NSOperationQueue、GCD
NSLock和@synchronized
通过简单的例子来说明NSLock和@synchronized的执行和加锁流程
KVC的原理和使用
本demo讲解了KVC的原理和实现,包括定义,执行过程,异常处理,注意事项等
ios uicollectionview实现瀑布流
本demo实现了规则的瀑布流和等宽的不规则高度的瀑布流