WKWebView替换UIWebView 1.引入头文件#import <WebKit/WebKit.h>2.先使用WKWebView基本方法写个例子,加载baidu页面,写法跟UIWebView类似- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. WKWebViewConfigu
tabar突起按钮点击 Edittabar突起按钮点击之前面试经常问到tabbar突出按钮该如何点击,只知道用Hittest来解决,但是到底该重写哪个view的hitTest方法我不确定。刚开始肯定想要的是tabBar,但是tabBar的本身没在点击区域,我以为压根不会走进tabBar的HitTest方法,必须在它的上一层寻找,也就是self.view,但是self.view重写又很麻烦,而且突起按钮
使用NSProxy和NSObject设计代理类的差异 转自:http://www.tanhao.me/code/160702.html/?utm_source=tuicool&utm_medium=referral如有侵犯,请来信oiken@qq.com经常发现在一些需要使用消息转发而创建代理类时, 不同的程序员都有着不同的使用方法, 有些采用继承于NSObject, 而有一些采用继承自NSProxy. 二者都是F
代码质量以及内存泄露排查总结 想体验一把 CentOS 系统玩一下命令行?试试腾讯云上实验室吧 https://cloud.tencent.com/developer/labs原文链接:http://www.jianshu.com/p/4e447f1d8ffa在几周的稳定性工作中, 我对现有内涵iOS代码进行了一次初步的review过程,主要是针对一些非必现性crash的审查。 —— 由Moon同学分享
将model转化为字典 将model转化为字典 刚入行时就见过项目里有mode转化为字典的代码,后来用过MJExtension的第三方库,非常好用,其实原理就是利用runtime遍历所有属性值,然后进行转化。但是自己从来没有动手写过~~~今天亲自写一写1.先用runtime遍历所有属性值代码如下:- (NSDictionary *)dicFromObject:(NSObject *)object { NSMuta
使用appscript+python来控制Mac下的GUI应用程序 在Mac下,appscript是一个与应用程序通信交互的强大工具。用Python的appscript模块,可以在不用学习appscript的情况下也能做到与很多应用程序交互的功能。 打开Mac的终端,安装很简单: sudo easy_install appscript 然后运行ipython,先来试一个简单有趣的例子: Python代码 >>
python 编码问题:'ascii' codec can't encode characters in position 的解决方案 报错:'ascii' codec can't encode characters in position 8-50: ordinal not in range(128)Python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byt
优先级反转 什么是优先级反转? 优先级反转是指一个低优先级的任务持有一个被高优先级任务所需要的共享资源。高优先任务由于因资源缺乏而处于受阻状态,一直等到低优先级任务释放资源为止。而低优先级获得的CPU时间少,如果此时有优先级处于两者之间的任务,并且不需要那个共享资源,则该中优先级的任务反而超过这两个任务而获得CPU时间。如果高优先级等待资源时不是阻塞等待,而是忙循环,则可能永远无法获得资源,因为此时
iOS调试之Reveal插件-RevealLoader 要使用RevealLoader,必须要越狱设备才行。打开Cydia,搜索栏搜索RevealLoader。如图,点击RevealLoader即可,然后点击继续,接下来就等着安装机可以了。(不过在ipad上我试了试不行,能安装上,但列表是空的)3.pic.jpg安装完后打开系统的设置,如图找到Reveal这一选项。进去之后点击Enabled Applications
iOS陷阱--NSDateFormatter的线程安全性 经常需要将NSDate和NSString进行互转,一般我们会这么写:NSDate转NSStringNSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@”yyyy-MM-dd’T’HH:mm:ss”];[dateFormatter setTime
iOS 开发中的八种锁(Lock) 锁之前的性能的图表:lock_benchmark.png发现除了@synchronized 用过,其他的都陌生的很,可以说完全不知道啥玩意儿~于是怀着惭愧的心情赶紧把这些锁学习了下,废话不多说,我们开始:锁 是什么意思?我们在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题,这时候就需要我们保证每次只有一个线
不再安全的 OSSpinLock 昨天有位开发者在 Github 上给我提了一个 issue ,里面指出 OSSpinLock 在新版 iOS 中已经不能再保证安全了,并提供了几个相关资料的链接。我仔细查了一下相关资料,确认了这个让人不爽的问题。OSSpinLock 的问题2015-12-14 那天, swift-dev 邮件列表里 有人在讨论 weak 属性的线程安全问题,其中有几位苹果工程师透露了自旋锁的问题,
Xcode8 安装XcodeColors插件与CocoaLumberjack工具 工欲善其事必先利其器,好的开发者一定是懂得利用工具来提高自己的效率的,Xcode有很多第三方插件可以使用,最近发现一个可以给控制台着色的工具XcodeColors,结合CocoaLumberjack一起使用可以让控制台有选择的输出信息,可以把输出到控制台的信息分为多种类型,在不同场景下输出不同的信息下面记录一下如何使用XcodeColors / CocoaLumberjack 和过程中遇到
移动开发中MVC模式和分层 MVC在界面开发中被奉为设计的典范,在移动开发中也是MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。它将业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。我刚接触iOS,想通过ios的一些实例设计来理解MV
iOS组件化思路 一、大神博客研读随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分。但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好的让拆分出去的业务工程能够独立运行,必须进行组件拆分并且实现组件服务化。下面是最近在行业内几个大神的博客辩论对战,具体资料如下:2016.03.10 蘑菇街App的
iOS网络优化 (1)博客a,阿里无线11.11:手机淘宝 521 性能优化项目揭秘 阿里无线11.11:手机淘宝移动端接入网关基础架构演进之路b,携程App的网络性能优化实践c, charles使用简介d, 无线性能优化:域名收敛的过程e, App域名劫持之DNS高可用 - 开源版HttpDNS方案详解(2)原因分析a, 服务器处理时间慢,比如读取数据库等
iOS封装功能生成 .framework 前言 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件。然而,这种方法并不是很优雅。它会暴露所有的实现细节,而这些实现你可能并不想开源出来。此外,开发者也可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中。 另一种方法是将你的代码编译成静态库(library),让其他开发者添加到自己的项目中。然而,这需要你一
【iOS app加密】iOS app之游戏加密防破解 【iOS app加密】iOS app之游戏加密防破解。iOS app游戏类应用有一个很泛滥但被视为鸡肋的问题,那就是iOS app被破解的问题。因为国内大多数游戏靠内购和广告盈利,游戏安装包也只是在早期象征性的收费,之后就会免费,所以很多开发者对iOS app游戏从只能在购买者设备安装变成可免费到处安装并不关注。 App游戏被破解攻击可能是宿命,正所谓,哪里有游戏,哪里就有