iOS开发篇
文章平均质量分 60
horisea
一位热爱iOS开发的小伙
展开
-
iOS海哥开发笔记(开发中如何使用数据持久化)海哥原创,让你对存储知识一目了然
/************************************************************************/1.NSUserDefaults 、看看这个原文链接http://my.oschina.net/u/1245365/blog/294449//本地存储,缓存数据实现思路,虽然不推荐比如要存储一个班的学生原创 2016-03-24 10:30:24 · 599 阅读 · 0 评论 -
iOS webView的高级用法之JS交互,js与oc的相互调用(JavaScriptCore)
重要的事情放前面 github地址:https://github.com/horisea/JSCallOCTest 欢迎star 前言:说起JS交互,很多童鞋会黯然色变,感觉很高深的样子。大部分小伙伴只知道一种,哪一种我也说说吧。 1.在webView中将要请求的时候,拦截URL,进行重定向,然而该场景实用有限,网上资料也很多下面说说另一种交互方式。- (BOOL)webV...原创 2016-08-12 15:24:43 · 23003 阅读 · 1 评论 -
iOSweex集成入门,weex快速上手教程,weex集成到iOS工程注意事项(一)
前言:Hybird混合开发如今是前端开发的大趋势,那么好处就是跨平台,那么就能大大提升开发效率。但是肯定有不足之处,那就是没有native开发的用户体验好,关于两者的区别,这里不做说明。 weex是阿里巴巴公开开源的混合开发的SDK,既能提高开发效率,又能有native的效果。一:如何将weexSDK集成到iOS项目中,本文重在说明,参照官方文档的每一个细节知识点原创 2016-08-01 10:20:04 · 4196 阅读 · 0 评论 -
iOS中最简单实用的自定义动态返回行高的cell,动态计算cell的高度
最简单实用的动态返回行高的自定义UITableViewCell原创 2016-07-25 18:32:45 · 13978 阅读 · 0 评论 -
iOS中自定义输入文本框的cell(UITextFieldCell)的使用技巧
一:开篇介绍 1.在iOS项目开发中,容易遇到各种个人信息填写。比如微信中设置个人信息,等。这种方式是尽兴控制器跳转,代理或者block传值,这种比较容易,符合常规的cell的应用场景。请继续往下看,后面更精彩!!!2.但也有很多场景是这种方式,如图所示,这是微信中个人中心的收货地址信息的填写,那么相比较这种cell就相比较难了一点。 2.1:先说一原创 2016-07-10 20:38:46 · 10196 阅读 · 0 评论 -
iOS 借贷类 马甲包 等上架经验
http://www.jianshu.com/p/e87d8e87d240原创 2017-12-06 10:05:40 · 5576 阅读 · 0 评论 -
Swift和Objective-C混编桥接文件设置
1.桥接文件的设置stockiosoc/SCYRegistAndLogin/View/stockiosoc-Bridging-Header.h路径 :工程目录/所在路径 注意:名字是工程目录-Bridging-Header 该文件下,存放swfit中需要访问的OC的文件2. Objective-C Generated原创 2017-11-24 11:26:06 · 1107 阅读 · 0 评论 -
iOS 无开发者账号怎么打包项目 供别人下载
前言:1.你没有开发者账号,于是就不能创建描述文件打包到蒲公英 2.需要安装的人不在你旁边,你不能真机调试。 辣么,该怎么办。。 1.编译你的项目,commod+R一下 2.找到项目的Products目录,找到下面的xxx.app, show in finder,如下图。3.在桌面上,新建文件夹(名字自己起),将finder中的选中原创 2017-10-09 16:38:58 · 13695 阅读 · 0 评论 -
ipad开发中UIAlertController使用奔溃问题
加上红色部分的代码就ok了,具体原因,参考下面的博客,写的很详细。 [alertController addAction:sureAction]; [alertController addAction:cancelAction]; alertController.popoverPresentationController.sourceView = self.view;原创 2017-09-17 17:16:12 · 675 阅读 · 0 评论 -
iOS中仿驾考宝典,做题目,回答问题自定义回答问题的高性能cell
一.先上效果图。 二:介绍下主要功能。 2.1. 适用场景: 驾考宝典中:科一考试做题的时候,至于怎么展示题目的,本demo就有相似功能 金融项目:做过查征信的童鞋,会有回答问题的数据,本demo绝对适用 教育:培训类软件,有做题目的地方,也适用 投票:跟做原创 2017-03-15 14:38:42 · 5742 阅读 · 0 评论 -
iOS 基于JavaScriptCore 不等webView加载完毕就交互,网页获取原生内容。 webView的高级用法之JS交互,js与oc的相互调用
一:本文解决的问题: 1.不等webView加载完毕,就能获取原生的内容, 2.举个例子: 加载一个城市生活网页,不等加载完成,h5端获取原生定位所在城市,然后根据城市名不同加载不同的城市生活内容。。(例子不恰当,网页时可以自己定位的,忽略,意思懂就行)二:本文默认您已经了解JS交互的一些内容了,若您不明白,请看这篇文章,里面介绍了JS交互的详细内容,demo地址等原创 2017-03-09 10:58:04 · 4327 阅读 · 0 评论 -
iOS 开发,block是什么?clang -rewrite-objc反编译block,带你揭开block的神秘面纱
iOS 开发,block是什么?clang -rewrite-objc反编译block,带你揭开block的神秘面纱原创 2016-11-04 18:02:22 · 2157 阅读 · 0 评论 -
iOS开发屏幕截屏,超出屏幕截屏处理
/// 根据一个View生成一个image+ (UIImage *)imageFromSnapShotView:(UIView *)view { UIImage *image = nil; if ([view.classisSubclassOfClass:[UIScrollView class]]) { UIScrollView *scrool原创 2017-12-28 17:56:33 · 1653 阅读 · 0 评论 -
UILabel设置属性字符串,可以增加点击事件点击
1.首先啊,label可以设置属性字符串,设置不同的字体颜色,字体大小,但是要增加点击事件,不好操作。2.所以文章是设置textView来完成的。- (UITextView *)textView { if (!_textView) { _textView = [[UITextView alloc] init];// NSMutableAttr原创 2017-12-29 11:46:06 · 6058 阅读 · 0 评论 -
runtime super和superClass的区别调用super方法深入浅出
如何使用super我们都知道。现在的问题是,它是如何工作的呢?首先我们需要知道的是super与self不同。self是类的一个隐藏参数,每个方法的实现的第一个参数即为self。而super并不是隐藏参数,它实际上只是一个”编译器标示符”,它负责告诉编译器,当调用viewDidLoad方法时,去调用父类的方法,而不是本类中的方法。而它实际上与self指向的是相同的消息接收者。为了理解这一点,我们先来...原创 2018-04-02 17:15:43 · 837 阅读 · 0 评论 -
iOS开发 最新的NSURLProtocol之webView的离线缓存,缓存webView,离线加载
一:前言:项目中整个一tab页因为需求变成了加载webView,没网情况下会一片白。。很多APP无网显示的是一张图片,笔者强迫症,坚决做到最好的用户体验,于是缓存了整个webview; 1. 想通过加载HTMLSting字符串缓存webView是不可行, [self.webView loadHTMLString:HTMLSting baseURL:nil];想走这条路的哥们这里说下,肯定是不原创 2016-12-22 17:22:09 · 7307 阅读 · 0 评论 -
手把手教你iOS如何调用React Native,即是iOS与RN的交互,将推送数据传递RN
RN调用iOS本文要做的事情:iOS将推送数据,调用RN方法,进行数据传递。按步骤来,一定能成功的。。权威,文章会一直更新。疑惑:不了解RN怎么办,没事,RN代码自有前端人员写。。介绍:至于RN的介绍这里不多说了,,就为什么会出现iOS与RN的交互场景,这里阐述下。。RN出现的目的就是 1.能快速迭代产品 2.有原生的用户体验 核心就是调用原生的API 但是他也不是无所不能的,总有需要...原创 2017-01-07 18:16:48 · 16631 阅读 · 1 评论 -
iOS textField长按出现select,selectall 选择显示成中文全选黏贴 剪切、复制、选中的提示为英文改为中文
英文这么显示的 改成中文这么显示的 解决办法:1.首先保证手机系统是简体中文: 设置->通用->语言与地区2.项目的info.plist文件中,增加 sorcecode是这样的,CFBundleLocalizationsenzh_CN 截图是这样的原创 2017-03-09 14:41:35 · 11716 阅读 · 0 评论 -
iOS开发 如何适配iOS10
iOS开发 如何适配iOS102016年9月7日,苹果发布iOS 10。2016年9月14日,全新的操作系统iOS 10将正式上线。作为开发者,如何适配iOS10呢?1.Notification(通知)自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotific原创 2016-09-18 16:52:11 · 590 阅读 · 0 评论 -
iOS封装浅谈-一句代码弹出actionSheet,如何优雅的设计一个ActionSheetManager
一:总想着写一些封装相关的文章,但是如果没有实例空讲的话也没意思。现在就开发中自己封装的一些小东西,拿出来说一说,希望能帮助到他人。 前言:有很多人会说,这有啥好封装的。若一个控制器出现一个actionSheet,没啥,如果多个,就比较恶心。 1.先说下出现的时候,会有一些恶心的场景,一个控制器弹出3个or3个➕的actionSheet,那么你是怎么设计的呢。比如,上下图片看效果原创 2017-07-04 14:24:44 · 2907 阅读 · 0 评论 -
iOS-应用架构谈(1)开篇
缘由之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢?当时看到这个问题正好在乘公车回家的路上,闲来无聊就答了一把。在zzz在微信朋友圈上追问了几个问题之后,我觉得有必要开个博客专门来讲讲一些个人见解。转载 2017-07-04 17:30:07 · 336 阅读 · 0 评论 -
iOS应用架构谈(2) view层的组织和调用方案
当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构。一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:View层的架构一旦实现或定型,在App发版后可修改的余地就已经非常之小了。因为它跟业务关联最为紧密,所以哪怕稍微动一点点,它所引发的蝴蝶效应都不见得是业务方能够hold转载 2017-07-05 10:18:59 · 489 阅读 · 0 评论 -
iOS应用架构谈(3) 网络层设计方案
前言网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetworkKit啥的其实也都还不错,但前者已经弃坑,后者也在弃坑的边缘。在实际的App开发中,Afnetworking已经成为了事实上各大App的标准配置。转载 2017-07-05 10:26:58 · 378 阅读 · 0 评论 -
iOS应用架构谈(4) 本地持久化方案及动态部署
前言嗯,你们要的大招。跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区。每一个issue和PR以及评论我都会回复的。持久化方案不管是服务端还是客户端,都是一个非常值得讨论的话题。尤其是在服务端,持久化方案的优劣往往都会在一定程度上影响到产品的性能。然而转载 2017-07-05 10:31:20 · 525 阅读 · 0 评论 -
iOS7 UIWebView设置支持加载HTTPS请求
直接复制拷贝就可以了原创 2017-07-17 10:07:36 · 1739 阅读 · 0 评论 -
iOS开发 UITableview的registerClass : forCellReuseIdentifier:的用法
1.控制器中写入代码。- (void)viewDidLoad { [super viewDidLoad]; [self.tableView registerClass:[yourCustomCell class] forCellReuseIdentifier:ruleCellidentifier];}那么在布局cell的方法中就可以省略 static NSSt原创 2017-07-17 10:55:50 · 694 阅读 · 0 评论 -
iOS 最简单解决事件冲突的思路,深入浅出cancelsTouchesInView属性
引言:其实在手势解决问题,根据笔者经验,一般用好UITapGestureRecognizer 的cancelsTouchesInView属性,很多问题就能解决了。。问题:在一个tableView的布局上,有点击tableView收回键盘操作,点击cell的事件,自定义cell可能有按钮的点击事件。。那么当这些问题都同时存在的时候,你想过怎么解决问题吗。。或者根据需求,设置不同的事件优先原创 2017-07-18 10:27:46 · 6138 阅读 · 1 评论 -
iOS 你需要知道的团队代码规范,个人更应该规范
直接看这个博客吧,谨记。。幸好自己平时代码风格和规范相差不远 代码规范文章链接原创 2017-09-01 11:46:52 · 471 阅读 · 0 评论 -
iOS开发打包的种类,我的理解
1.个人账号,公司账号打包。 1. 介绍: 这些都是用来上传APPStore用的。99刀。区别是公司账号会有一些相关资质。 比如公司账号有金融资质,就能上架金融相关的产品。而个人账号泽不行。 2. 用途: 当然是打包咯:一般打两种包。 前提: 1.创建C原创 2017-12-05 17:21:46 · 1088 阅读 · 0 评论 -
关于网络请求用到的东西
https://mp.weixin.qq.com/s/5nyTIUOcffHHktxDX3nl6A原创 2017-12-06 14:52:25 · 245 阅读 · 0 评论 -
iOS通过链接,应用内打开APP或者跳转APPStore对应下载
开文:很急着实现的话,请按照最后一句话操作。一:有一种是替换协议头,即是将 http:// 替换为 itms:// 或者 itms-apps:// 然后通过 [[UIApplicationsharedApplication] openURL: itms:// 或者 itms-apps://后面跟上一堆]; 但是这种应用场景比较有限原创 2017-08-31 10:47:17 · 27003 阅读 · 0 评论 -
iOS应用架构谈(5) 组件化方案
简述前几天的一个晚上在infoQ的微信群里,来自蘑菇街的Limboy做了一个分享,讲了蘑菇街的组件化之路。我不认为这条组件化之路蘑菇街走对了。分享后我私聊了Limboy,Limboy似乎也明白了问题所在,我答应他我会把我的方案写成文章,于是这篇文章就出来了。另外,按道理说组件化方案也属于iOS应用架构谈的一部分,但是当初构思架构谈时,我没打算写组件化方案,因转载 2017-07-05 10:33:59 · 659 阅读 · 0 评论 -
iOS runloop的深入浅出,runloop的理解看这里就够了
一:什么是runloop事件循环,绝对不止是死循环这么简单的一个回答。实质上就是runloop内部状态的转换。1.用户态:应用程序都是在用户态,平时开发用到的api等都是用户态的操作2.内核态:系统调用,牵涉到操作系统,底层内核相关的指令。实际上是计算机内部进行的资源调度操作。1.等待:其实就是用户态-内核态的转换。事件循环不是while死循环,而是状态转换,切记。二:runloop的数据结构NS...原创 2018-04-27 18:17:56 · 7670 阅读 · 0 评论