
IOS开发
江中散人
在移动前端、微服务后端均有多年研发实施与团队管理经验,当选全球云原生交流组织创原会(全球云原生技术基金会CNCF、信通院、华为云牵头组织)2022/2023/2024年年度云原生MVP、2023年度云原生最佳创作奖。2023年新一代集中交易系统与国产集中式DB的软硬件联合调优方案,先后获得创原会2023年第三届“云原生技术先锋实践”奖,以及CNBPA的“最佳云原生行业实践奖”。相关技术博客积累超10年,技术领域涵盖云原生(AI/容器/计算/存储/网络/PaaS/微服务/DevOps)、产品设计、IOS开发、Android开发、Hybrid混合开发等领域
展开
-
【IOS】总结-AFNetworking学习笔记
写在前面: xian'b 1 类库功能简介1.1 AFNetworking的大体思路1.1.1 NSURLConnection + NSOperation daozheNSURLConnection 是 Foundation URL加载系统的基石。一个 NSURLConnection 异步地加载一个 NSURLRequest 对象,调用 d原创 2014-11-21 16:31:12 · 11319 阅读 · 0 评论 -
IOS开发系列——UIView专题之五:常用开发技巧篇
5UIView开发技巧5.1常用技巧5.1.1使用半透明View与不透明SubView半透明背景视图只能用此种方法设置颜色,否则subView也是半透明的。blurView.backgroundColor= [UIColorcolorWithRed:0green:0blue:0alpha:0.3];5.1.2[super layoutSubviews]要原创 2016-01-09 16:56:25 · 699 阅读 · 0 评论 -
IOS开发系列——UIView专题之一:UIWindow篇【整理】
1 UIWindow1.1 UIWindow简介UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow。iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWi转载 2016-01-09 16:54:38 · 585 阅读 · 0 评论 -
IOS开发系列——UIView专题之二:动画篇【整理,部分原创】
2UIView动画2.1概述UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。UIView可以产生动画效果的变化包括:•位置变化:在屏幕上移动视图。•大小变化:改变视图框架(frame)和边界。•拉伸变化:改变视图内容的延展区域。•改变透明度:改变视图的alpha值。•改变状态:隐藏或显原创 2016-01-09 17:05:15 · 688 阅读 · 0 评论 -
IOS开发系列——UIWebView专题【整理,部分原创】
UIWebView专题1初始化1.1API接口使用1.1.1loadhtmlstringiOS: UIWebview loadhtmlstring & Localcss/js/image resourceshttp://blog.youkuaiyun.com/totogogo/article/details/7613790UIWebView既可以load b原创 2016-01-09 17:07:38 · 1054 阅读 · 0 评论 -
IOS开发系列——启动页专题【整理,部分原创】
启动页专题 总述:两种方式,一种是使用系统自带的,按规则定义启动图片名称即可,显示为1秒,要想延长时间,用[nsthread sleepForTimeInterval:5.0] ,另一种就是自定义uiivew,加到window中去。1 系统自带方式1.1 添加图片1,准备图片资源,放入工程中,即可,默认时间为1s iOS设备现在有三种不同的分辨原创 2016-01-09 17:11:16 · 818 阅读 · 0 评论 -
【IOS开发基础系列】OC基础数据类型使用专题
1 常用数据类型1.1 @property参数@property参数分4类1、读写属性:(readwrite/readonly)2、setter语意:(assign/retain/copy)3、原子性:(atomic/nonatomic)4、引用强弱:(strong/week)1.1.1 readwrite 默认属性,将生成不带额外参数的getter和setter方法(setter方法只有...转载 2018-03-08 23:48:08 · 573 阅读 · 0 评论 -
【IOS开发进阶系列 整理】Widget专题
1 机制原理1.1 概念1、app extension app extension:extension是iOS8新开放的一种对几个固定系统区域的扩展机制,extension并不是一个独立的app,它有一个包含在app bundle中的独立bundle,extension的bundle后缀名是.appex。当然它有好多类型,如下图官方文档上介绍的那天,今天我们主要讲解的...转载 2018-03-08 23:48:43 · 449 阅读 · 0 评论 -
【IOS开发高级系列】异步绘制专题
1 图片处理1.1 编辑图片的几个方法第一种 先用UIImage对象加载一张图片 然后转化成CGImageRef放到CGContext中去编辑第二种 用CGImageCreate函数创建CGImageRef 然后把CGImageRef放到CGContext中去编辑第三种 用CGImageCreateCopy 或者CGImageCreateCopyWithColorSp...原创 2018-03-08 23:51:14 · 3064 阅读 · 0 评论 -
【IOS开发基础系列】数据编解码专题
1 Base641.1 在iOS7中系统提供了base64的转码方式示例如下:NSData* originData = [originStr dataUsingEncoding: NSASCIIStringEncoding];NSString* encodeResult = [originData base64EncodedStringWithOptions: NSDataBase64Encodi...原创 2018-03-08 23:51:58 · 584 阅读 · 0 评论 -
IOS开发问题索引(七)
全系列文章索引:IOS开发问题索引(一)IOS开发问题索引(二)IOS开发问题索引(三)IOS开发问题索引(四)IOS开发问题索引(五)IOS开发问题索引(六)IOS开发问题索引(七)IOS开发问题索引(八)IOS开发问题索引(九)1 【编译】xcode突然编译不通过,报错不支持64位 此种场景出现在将project中32位第三方库替换成64位时,project中如何存在相同的第三方库,最好...原创 2018-03-05 22:28:04 · 408 阅读 · 0 评论 -
IOS开发问题索引(八)
全系列文章索引:IOS开发问题索引(一)IOS开发问题索引(二)IOS开发问题索引(三)IOS开发问题索引(四)IOS开发问题索引(五)IOS开发问题索引(六)IOS开发问题索引(七)IOS开发问题索引(八)IOS开发问题索引(九)1 【SQL】附加数据库5120错误(拒绝访问)处理方法http://jingyan.baidu.com/article/c1a3101e8b34c2de656debb...原创 2018-03-05 22:28:40 · 403 阅读 · 0 评论 -
IOS开发问题索引(九)
全系列文章索引:IOS开发问题索引(一)IOS开发问题索引(二)IOS开发问题索引(三)IOS开发问题索引(四)IOS开发问题索引(五)IOS开发问题索引(六)IOS开发问题索引(七)IOS开发问题索引(八)IOS开发问题索引(九)1 enum用法http://blog.youkuaiyun.com/lvxiangan/article/details/209393792 去除TabBar背景图片默认加蓝效果U...原创 2018-03-05 22:29:10 · 493 阅读 · 0 评论 -
【Api使用系列】Cocoa基础专题
1 Cocoa1.1 Cocoa在OS中的位置以下两张图需要结合IOS系统四层分层思想来看:Cocoa在IOS系统整体架构中的位置Mac OS系统整体架构图Cocoa在Mac OS系统整体架构中的位置1.2 Cocoa组件的依赖关系Cocoa架构的依赖关系...转载 2018-03-05 22:29:59 · 407 阅读 · 0 评论 -
【API使用系列】Core Text专题
API接口文档https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CoreText_Framework_Ref/_index.html1 CoreText.framework简介1.1 常用类库CoreText 框架中最常用的几个类:1 CTFont2 CTFontCollection3 CTFontDes...原创 2018-03-05 22:31:24 · 491 阅读 · 0 评论 -
【API使用系列】App间跳转专题
1 OpenUrl原理 如果一个应用程序支持一些已知类型的URL,您就可以通过对应的URL模式和该程序进行通讯。然而,在大多数情况下,URL只是用于简单地启动一个应用程序并显示一些和调用方有关的信息。举例来说,对于一个用于管理地址信息的应用程序,您就可以在发送给它的URL中包含一个Maps程序可以处理的地址,以便显示相应的位置。这个级别的通讯为用户创造一个集成度高得多的环境,减少应用...原创 2018-03-05 22:32:37 · 833 阅读 · 0 评论 -
【API使用系列】KVO/KVC专题
1 开发技巧1.1 常见问题1.1.1 kvo通知没有发出来问题KVO通知发起机制: KVO中属性变化后,通知的发出是在属性的setter方法中发起的,所以属性赋值时,一定要用.操作符或者用方法调用,而不能直接用内部成员赋值的方法。WS(weakSelf);[HJComInstance getEntity:_entity WithUserEntity:userEntity WithCo...原创 2018-03-05 22:33:16 · 260 阅读 · 0 评论 -
【API使用系列】Notification消息通知专题
1 NSNotificationCenter机制1.1 原理1.1.1 不移除通知挂机原因分析@implementation MRCObject- (id)init{ if (self = [super init]) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(test)...原创 2018-03-05 22:34:13 · 473 阅读 · 0 评论 -
IOS开发系列——UIView专题之四:事件分发机制篇【整理,部分原创】
4事件分发机制iOS中的事件大概分为三种,分别是Milti-Touch Events, Motion Events和Remote Control Events(events for controlling multimedia)。4.1hitTestiOS事件分发机制(一)hit-Testinghttp://suenblog.duapp.com/blog/100原创 2016-01-09 16:59:04 · 979 阅读 · 0 评论 -
IOS开发系列——UIView专题之三:自定义绘制篇【整理,部分原创】
3UIView重绘机制3.1DrawRect机制3.1.1简介iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。重绘操作仍然在drawRect方法中完成,但是苹果不建议直接调用drawRect方法原创 2016-01-09 17:00:24 · 999 阅读 · 0 评论 -
IOS开发系列——Block专题【整理,部分原创】
Block专题前面基本概念部分从网上文章整理,后面使用经验为原创。1 概念简介Block具有将临时函数体创建为表达式的优势。Apple文档中指出: Block是符合如下要求的匿名内联的代码集:1 、和函数一样具有一个指定类型的参数列表;2 、有一个可以推导或声明的返回值类型;3 、可以从它被定义的词义范围中捕捉状态;4 、可以在需要的时候改变词义范围的状态;原创 2016-01-09 16:44:52 · 633 阅读 · 0 评论 -
国际化专题
【转自】在xcode5上把你的app多语言国际化http://blog.sina.com.cn/s/blog_4def4daf0101mlcm.html xcode5上面,和之前的版本有点不同,经过研究测试,以下方法可用。 1.到project->info->localizations 下面的加号,添加你需要的语言千万不要删除 base否虽然我不知道有什么用,我转载 2014-12-23 15:53:25 · 504 阅读 · 0 评论 -
【IOS】AFNetworking 2.0中XML请求处理专题
因为AFNetworking2.0中,对于响应返回的xml格式没有做专门的解析处理,因此需要开发者自己来做处理。在笔者的项目中,使用了一个叫AFGDataXMLRequestOperation的第三方类库来统一处理。原创 2014-12-24 18:56:04 · 3151 阅读 · 0 评论 -
【IOS】IOS开发问题解决方法索引(二)
IOS开发问题解决方法索引(二)1 不使用ARC编译,-fno-objc-arcios5 选择了ARC但是不使用ARC编译,-fno-objc-arc http://leobluewing.iteye.com/blog/1384797http://blog.cnrainbird.com/index.php/2012/03/13/object-c_kai_fa_z原创 2014-12-24 19:05:18 · 1092 阅读 · 0 评论 -
【IOS】IOS开发问题解决方法索引(一)
IOS开发问题解决方法索引1 Xcode工程调试时无法命中断点的问题若没有勾选LLVM Compiler 1.6 –> CodeGeneration –> Generate Debug Symbols 一项,则程序调试时无法命中断点。 2 Xcode调试时查看变量的几种方法Xcode如何查看内存中的数据http://blog.youkuaiyun.com/原创 2014-12-24 19:01:51 · 1041 阅读 · 0 评论 -
【IOS】CocoaPods安装总结
CocoaPods安装总结网上有一些教程,但是各有偏重,感觉不够完整,所以笔者汇总了一些网友的教程,并亲自验证安装了,并总结如下1 在Mac上安装Ruby on Rails(ok)在Mac上安装Rubyon Railshttp://blog.youkuaiyun.com/keyboardota/article/details/8935411 2 mac 系统下a原创 2014-12-28 11:13:22 · 1103 阅读 · 0 评论 -
Objective-c与js交互专题
1 原理在写 JavaScript 的时候,可以使用一个叫做 window 的对象,像是我们想要从现在的网页跳到另外一个网页的时候,就会去修改 window.location.href 的位置;在我们的 Objective-C 程序码中,如果我们可以取得指定的 WebView 对象,也就可以拿到这个出现在 JavaScript 中的 window 对象,也就是 [webView w原创 2015-05-06 15:17:15 · 2194 阅读 · 0 评论 -
【IOS】IOS开发问题解决方法索引(三)
1 判断js对象是否拥有某属性 http://www.cnblogs.com/snandy/archive/2011/03/04/1970162.html两种方式,但稍有区别1,in运算符123var obj = {name:'jack'};alert('name' in obj); // --> truealert('t原创 2015-05-15 09:30:18 · 1505 阅读 · 0 评论 -
【IOS】IOS开发问题解决方法索引(四)
1 IOSNSTimer线程无法在委托方法之外停止 NSTimer无法在线程的委托方法之外停止。 2 在IOS4.3中添加AdSupport.framework会引起dyld ‘dyld_fatal_error 将库引用参数设置为可选即可解决。3 Failed to get the task for process xxx 证书问题,pr原创 2015-05-15 09:33:35 · 1424 阅读 · 0 评论 -
【IOS】IOS开发问题解决方法索引(六)
1 【Network】使用AFNetworking2.0请求数据时出现错误Requestfailed:unacceptablecontent-type:text/html解决方法使用AFNetworking 2.0请求数据时出现错误 Request failed: unacceptablecontent-type: text/html解决方法添加一行manager.原创 2015-05-19 15:33:44 · 1503 阅读 · 0 评论 -
【IOS】IOS开发问题解决方法索引(五)
1 Block教程系列发布者:Seven's - 2013/04/22 - 分类:梦印象ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发。讨论范围:block的使用,内存管理,内部实现。不包含的内容:gc arc下的block内存,block在c++中的使用。Block介绍(一)基础 Block介绍(二)内存管理与其他特性b原创 2015-05-19 15:28:30 · 2544 阅读 · 0 评论 -
【IOS实战】UIButton 设置图片文字垂直居中排列
大道至简,直接上代码-(void)setButtonContentCenter:(UIButton *) btn{ CGSize imgViewSize,titleSize,btnSize; UIEdgeInsets imageViewEdge,titleEdge; CGFloat heightSpace = 10.0f; //设原创 2015-09-20 18:40:56 · 13254 阅读 · 1 评论 -
IOS开发系列——Masonry手写Autolayout专题【整理,部分原创】
Masonry手写Autolayout专题 Masonry常规开发指导整理自此篇文档(可别说我转载不注明出处哦,^_^),后面加入了笔者在实际开发使用过程中遇到过的一些问题,希望对你有所帮助。Masonry介绍与使用实践:快速上手Autolayouthttp://www.cocoachina.com/ios/20141219/10702.html 1 Masonr原创 2016-01-09 15:12:09 · 882 阅读 · 0 评论 -
IOS开发系列——Objective-c Runtime专题总结【整理】
Objective-c Runtime专题总结 原文 http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/ 1 OC与Runtime的交互方式 OC 从三种不同的层级上与 Runtime 系统进行交互,分别是通过 Objective-C 源代码,通过Foundation 框架的 NSObject转载 2016-01-09 15:26:52 · 1251 阅读 · 0 评论 -
IOS开发系列——Widget专题【整理】
Widget专题1 机制原理1.1 概念1、appextensionapp extension:extension是iOS8新开放的一种对几个固定系统区域的扩展机制,extension并不是一个独立的app,它有一个包含在app bundle中的独立bundle,extension的bundle后缀名是.appex。当然它有好多类型,如下图官方文档上介绍的那天,今天转载 2016-01-09 15:41:59 · 3025 阅读 · 0 评论 -
IOS开发系列——异步绘制专题
异步绘制专题 1 图片处理1.1 编辑图片的几个方法第一种先用UIImage对象加载一张图片然后转化成CGImageRef放到CGContext中去编辑 第二种 用CGImageCreate函数创建CGImageRef然后把CGImageRef放到CGContext中去编辑 第三种用CGImageCreateCopy或者CGIma原创 2016-01-09 15:48:40 · 7174 阅读 · 0 评论 -
IOS开发系列——设备信息专题【整理,部分原创】
设备信息专题 iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。1 UIDevice类UIDevice提供了多原创 2016-01-09 16:27:18 · 825 阅读 · 0 评论 -
IOS开发系列——APP间相互调用专题【整理,部分原创】
APP间相互调用专题1 OpenUrl原理如果一个应用程序支持一些已知类型的URL,您就可以通过对应的URL模式和该程序进行通讯。然而,在大多数情况下,URL只是用于简单地启动一个应用程序并显示一些和调用方有关的信息。举例来说,对于一个用于管理地址信息的应用程序,您就可以在发送给它的URL中包含一个Maps程序可以处理的地址,以便显示相应的位置。这个级别的通讯为用户创造一个集成度高得原创 2016-01-09 16:30:36 · 1834 阅读 · 0 评论 -
【API使用系列,整理】NSObject专题
1 NSObject源码实现分析Objective-C NSObject的实现分析(2014-10-23更新)http://blog.youkuaiyun.com/uxyheaven/article/details/381203351.1 属性1.1.1 isa 是一个指向Class的指针,具体请看这篇文章Objective-C objc_class介绍1.2 方法1.2.1 class实例方法返回的是...原创 2018-03-05 22:35:48 · 299 阅读 · 0 评论