- 博客(23)
- 收藏
- 关注
原创 关于UIWebview缓存的问题
最近在做公司内部的一款app,涉及到UIWebview的缓存问题,不是主动做的webview crach缓存,而是UIWebview的自动缓存,这个问题导致,网页更新的时候,即使在网址后面加了时间戳,也不能及时更新网页,后来才知道要在离开网页的时候清理webview的缓存 并将webview置nil-(void)viewWillDisappear:(BOOL)anima
2017-03-10 16:42:54 684
原创 关于RunLoop
1.RunLoop是一种机制 : 让线程结束时不关闭,而是进入休眠状态等待唤醒.让线程能随时处理事件但并不退出.2.RunLoop 实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行上面 Event Loop(do-while) 的逻辑,线程执行了这个函数后,就会一直处于这个函数内部 "接受消息->等待->处理" 的循环中,直到这个循环结束(比如传入 qu
2017-02-07 14:56:40 263
转载 iOS runtime 关联对象(Associated Object)
摘要: 在不用继承类的情况下,可以通过“关联对象” 机制来把两个对象连起来。对已有类添加属性需求 同一个类有多个alertView, 不同的alertView 点击确定按钮 执行的方法不同 alertOne 点击 确定按钮 执行 methodOne, alertTwo 点击确定按钮 执行 methodTwo常规做法
2017-01-06 10:39:17 277
原创 基础算法
排序//冒泡排序 //输入n个数字排序 (1-n)或者 (0-(n-1)) //冒泡排序一共需执行n-1趟 (若是从大到小排序)每趟排序都会把最小的放在最后所以每趟排序待排序的数会少一个 NSMutableArray * arr =@[@"1",@"6",@"2",@"4",@"5"];
2016-12-26 15:00:27 248
原创 [读书笔记]关于iOS各方面的安全性问题
一.传输用户密码1.不用GET请求GET请求的URL数据一般都会保存在服务器的access log中,黑客一旦攻破服务器,只需扫描access log就能获得用户的明文密码.2.密码不用明文传递因为即使用POST请求,当传递的密码是明文时,黑客如果将自己的电脑设置成公共wifi,用户一旦用这个wifi传递消息,就会暴露自己的密码正确的方法是,事先
2016-12-23 11:47:09 448
原创 OC与JS之间的相互调用
OC调用JS的时候是通过UIWebView的的- (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;方法实现的.这个方法想UIWebView传递有单需要执行的JS文件最后获得执行结果.注意:该方法会同步返回一个字符串,因此是一个同步方法,可能会阻塞UI。
2016-12-22 13:31:43 285
原创 基于UIWebView的混合编程
UIWebView的加载方法1.UIWebView的loadRequest:方法__weak typeof (self)weakSelf=self; NSBlockOperation *operation=[NSBlockOperationblockOperationWithBlock:^{ NSString *str
2016-12-20 16:31:42 302
原创 [循环打印]数组套数组
外层数组里有五个小数组,小数组里都是字符串,打印的时候, 打印顺序是第一个小数组的第一条,第二个数组的第一条,第三个数组的第一条,第一个数组的第二条。。。。。。一直循环下去- (void)array { NSArray * array1 =@[@[@"11",@"12",@"13"],@[@"21",@"22"],@[@"31",@"32"]
2016-12-20 10:43:42 2441
转载 iOS程序运行顺序
main.m --->UIApplicationMain根据上述两个类名创建应用程序实例、应用程序代理实例,然后建立事件循环(runloop),检测程序的各种事件(程序开始启动,接收到触摸等等)[执行UIApplicationMain函数时做了跳转]---->转到了AppDelete(应用程序代理)中,根据程序的各种状态,触发代理方法.一 从main.m文件的main函
2016-12-19 19:39:17 237
原创 UIWindow
程序创建时的顺序应用程序启动之后,先创建Application,再创建它的代理,之后创建UIwindow。UIWindow->UIViewController->UIView UIWindow的两个主要作用1.作为UIView的最顶层容器,包含应用显示所需要的所有UIView.2.传递触摸消息和键盘事件给UIView.为UIWindow增加UIView
2016-12-19 19:33:59 252
原创 【读书笔记】关于GCD
例如下载网页功能。如果不用GCD,多线程下载,我们要把下载过程放到后台,以免阻塞UI。需要以下三部:1.someClick:单击按钮后,我们用NSInvocationOperarion建立一个后台线程,并且把这个线程放到NSOperartionQueue中。后台执行download方法。2 download方法处理下载网页的逻辑。下载完了之后用performSelectorOn
2016-12-16 10:19:12 189
原创 【读书笔记】循环引用(reference cycles)的问题
循环引用简单的说就是对象互相持有。它是引用计数的一个缺陷, 就是对象A和对象B,互相引用了对方作为自己的成员变量,只有自己销毁时才会将成员变量的引用计数减一。而A的销毁 前提是B销毁,同理 B的销毁依赖于A的销毁,这样对象就不能得到释放。造成了循环引用。 循环引用也不止出现在两个变量之间,对象环状持有也会造成循环引用,而环越大越不容易被发现。解决循环引用有两种方法1.程序员手动断
2016-12-15 20:13:49 421
原创 【iOS】一键换肤效果实现
创建一个string单例类,改变图片的那个vc里注册kvo观察string的值,需要改变图片的vc添加observe方法,获取新值
2016-12-15 19:52:19 505
转载 关于NSMutableArray的初始化创建
之前用 : 1 NSMutableArray *array = [NSMutableArray alloc] init];//这并不是一个好方法后来前辈对我说,用obj-c提供了静态方法 +(id)arrayWithCapacity:size 来创建一个可变数组。看书后发现,这个size数组容量只是数组最终大小的一个参考。size的值是为 Cocoa能够对代码进行一些优化,这个
2016-08-16 10:51:51 4704
原创 atomic与nonatomic(读书总结)
atomic通过锁定机制保证操作的原子性,某个线程在修改属性时,另一个线程不能突然闯入读取尚未修改好的属性值,而nonatomic会发生这种情况,线程读到的属性值可能不对.为什么ios中所有的属性都都声明为nonatomic呢?因为ios中使用同步锁的开销较大,这会带来性能问题.一般情况下,并不要求属性必须是原子的,因为这不能完全保证线程安全,要是行线程安全还要更深层的锁定机制才可以.
2016-08-15 11:24:21 203
转载 正则表达式的写法(一)
文章来自:生活就是生活正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了^\d+$ //匹配非负整数(正整数 + 0)^[0-9]*[1-9][0-9]*$ //匹配正整数^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)^-[0-9]*[1-9][0-9]*
2016-08-10 15:12:16 11643
原创 initWithNibName:方法什么时候调用
今天看一个demo,发现在没有调用 initWithNibName时,这个方法依然被调用了,iOS中init一个对象时,会调用对象的init方法,进入init方法时会调用initWithNibName方法,可调试验证 // 以后自定义控制器建议写这个方法,让控制器一创建出来就拥有某些属性 // init方法内部默认会调用initWithNibName方法 - (id)initW
2016-06-29 17:35:57 590
原创 iOS 上传图片(未压缩)
上传单张照片 AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; [manager POST:u
2016-06-29 14:04:47 305
原创 iOS label自适应高度
最近在做自适应高度,记录一下.这里给NSString添加了一个类别,类别方法是对象方法,就是用来返回该对象的size调用这个方法的时候只要传入一个最大的size (字符串所要显示的最大宽高)和font,该方法返回size. 这时就可以根据这个size做适应操作啦.类别中方法 - (CGSize)sizeThatFit:(CGSize)maxSize font:(UIFo
2016-06-29 13:45:58 340
原创 iOS 信鸽推送
最近在项目中集成了信鸽推送,记录下集成信鸽的过程.一.下载信鸽SDK下载地址 http://xg.qq.com/xg/apps/ctr_app 二.到苹果开发者中心注册推送证书.这部分如果不清楚可以看 信鸽的ios证书设置指南.证书指南网址:http://developer.qq.com/wiki/xg/iOS接入/iOS%20证书设置指南/iOS
2016-06-29 11:28:06 3502 2
原创 iOS 百度地图定位与反地理编码
涉及到几个比较重要的函数 1.定位结束时返回用户经纬度的函数 /** *用户位置更新后,会调用此函数 *@param userLocation 新的用户位置 */- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation;2./** *根据地理坐标获取地址信息 *异
2016-03-30 16:52:43 3105
原创 iOS 怎样切换横竖屏
上一篇文章是写我实现横竖屏之后遇到的问题,这里说一下是怎么实现横竖屏的首先,因为我做的是其他页面禁止横屏,只要一个页面横屏,那么第一步,需要在AppDelegate中设置只能竖屏 然后在指定界面开启横屏.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
2016-02-25 15:14:41 404
原创 iOS 适应横屏时遇到的问题
适应横屏要求重新布局,这里涉及到获取系统横屏还是竖屏的方法,开始我用的这个方法-(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration后来发现这个方法只到5.0
2016-02-25 14:56:30 813
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人