iOS 方法
文章平均质量分 69
iOS开发-上海
一点一滴 汇成大海
展开
-
iOS开发 --- AES加解密(AES|ECB|PKCS7)
加密模式:ECB填充(CCOptions):kCCOptionPKCS7Padding |kCCOptionECBMode偏移量:NULLkey:16位/ 32位//加密方法+(NSString *)encryptAES:(NSString *)content key:(NSString *)key;//解密方法+(NSString *)decryptAES:(NSString *)content key:(NSString *)key;+(NSString...原创 2021-04-22 09:59:22 · 1073 阅读 · 0 评论 -
iOS 学习 --- URLEncode和URLDecode
在iOS中,访问一些HTTP/HTTPS请求时,如果url中存在中文或者特殊字符,会导致无法正常的访问到资源或服务,例如加号会变成空格,想要解决这个问题,需要对url进行编码。下面方法中用到的 @"!*'();:@&;=+$,/?%#[] " ,用户可自定义,代表的意思是需要对这些特殊字符进行转码。方法一ios(2.0,9.0)//URLEncode- (NSString *)URLEncode{ // CharactersToBeEscaped = @":..原创 2021-04-20 13:48:51 · 1319 阅读 · 0 评论 -
iOS开发 --- 加密加盐(AES|CBC|PKCS7)
一,未加盐1.1客户端iOS//通用加密方法+ (NSString *)encryptString:(NSString *)plainSourceStringToEncrypt key:(NSString *)key;//通用解密方法+ (NSString *)decryptString:(NSString *)base64StringToDecrypt key:(NSString *)key;加密方法实现:+ (NSString *)encryptString:(NSSt.原创 2021-03-30 14:43:41 · 837 阅读 · 0 评论 -
iOS 学习 --- 异步获取数据dispatch_async方法的使用
为了避免界面在处理耗时的操作时卡死,比如读取网络数据,IO,数据库读写等,我们会在另外一个线程中处理这些操作,然后通知主线程更新界面。用GCD实现这个流程的操作比较简单。代码框架结构如下:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // 耗时的操作 dispatch_async(dispatch_get_main_queue(), ^{ .原创 2021-01-18 16:30:07 · 1149 阅读 · 0 评论 -
iOS开发 --- WKWebView中打开内部链接无法跳转问题
问题描述WKWebView 加载完链接后点击内部链接无法跳转,是因为<a href = "xxx" target = "_black"> 中的target = "_black" 是打开新的页面,所以无法在当前页面打开,需要在当前页重新加载url。a 超连接中target: _blank -- 在新窗口中打开链接 _parent -- 在父窗体中打开链接 _self -- 在当前窗体打开链接,此为默认值 _top -- 在当前窗体打开链接,并替换当前的整个窗体(框架页).原创 2020-07-29 11:29:12 · 10076 阅读 · 0 评论 -
iOS开发 --- App强制退出
最近项目中用到强制退出App,做个笔记。关键代码 /** 退出App */-(void)exitApplication { AppDelegate *app = (AppDelegate*)[UIApplication sharedApplication].delegate; //此处如果不强转 AppDelegate,会报警告:Initial...原创 2019-12-16 10:30:00 · 1113 阅读 · 0 评论 -
iOS学习 --- 时区设置NSTimeZone
最近在考虑获取当前时间的问题,因为我们的App不一定只是在中国境内使用,当他们查看App的时候,如果App内有涉及到获取当前时间,那么要注意了!!!目前从iOS7开始,系统获取的时间是以时区为准,而不是以地区为准,那么在你手机里设置, 通用-->日期与时间 你会看到如下界面.这里默认的是自动设置,应该就是系统获取了你当前的坐标,判断你的坐标在中国境内,所以时区自动设置为北京....原创 2018-07-26 17:31:38 · 3198 阅读 · 0 评论 -
iOS学习 --- objc_setAssociatedObject 关联对象的学习
今天看了EaseBlankPageView的源码,类别里面相当频繁使用了关联对象,做笔记!!!学套路主要函数:void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy);id objc_getAssociatedObject(id object, const...原创 2018-04-04 15:15:58 · 299 阅读 · 0 评论 -
iOS方法--------单例模式的写法
iOS的单例模式有两种官方写法,如下:1)不使用GCD的方式#import "Manager.h"static Manager *manager;@implementation Manager+(Manager *)defaultManager{ if(!manager) manager=[[self allocWithZone:NULL] init原创 2017-08-18 17:28:09 · 301 阅读 · 0 评论 -
给键盘添加一个工具条
开发中经常遇到要给键盘添加一个工具条,工具条上有按钮,点击后可以隐藏键盘的情况。比如下面:需要弹出纯数字键盘,这个时候就需要通过工具条来隐藏键盘了。 场景:点击一个cell中的textfield弹出数字键盘,上面加上工具条步骤1:在cellforrow中创建工具条。 步骤2:把textfield的inputAccessoryView 属性 = 你创建的工具条步骤3:把tex原创 2016-03-26 09:39:44 · 548 阅读 · 0 评论 -
cocoaPods配置及已有工程中cocoaPods的移除
原文链接:http://www.jianshu.com/p/533f47e1048d?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin&from=timeline&isappinstalled=0在iOS开发中,我们难免会使用到第三方的开源库。每次下载第三方,导入系统的fram原创 2016-03-30 11:17:54 · 435 阅读 · 0 评论 -
Objective-C加密算法
#import #import //MD5Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)原创 2016-08-24 16:47:55 · 798 阅读 · 0 评论 -
iOS学习 --- objc_setAssociatedObject 关联对象
首先看一下此方法接收的参数设置objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)获取id objc_getAssociatedObject(id object, const void *key)被关联的对象,下面举的例子中关联到了UIAlertView要关联的对象...原创 2018-04-04 15:40:50 · 279 阅读 · 0 评论 -
iOS开发 --- 封装framework
开发环境:Xcode9.1一、创建一个workspace1、在桌面上创建一个文件夹MyTestSDK(名字自己取)2、打开Xcode,创建一个workspace,路径放到文件夹MyTestSDK里面,Xcode--->File--->New--->Workspace之后可以看到MyTestSDK文件夹里面多了一个.xcworkspace文...原创 2018-04-28 10:48:47 · 316 阅读 · 0 评论 -
iOS学习 --- 制作并调用Bundle资源包
背景:在开发项目中,我们公司的产品要给别人用,除了把代码封装成静态库之外,还需要把你的图片等资源封装成bundle包。 这样,别人拿你的产品来用的时候,既不会看到你的代码,也看不到你的图片等资源。如果他想要用你的图片资源,那么前提是他要知道你bundle里面的图片资源的名称。什么是Bundle文件?简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个B...原创 2018-07-19 17:38:27 · 3491 阅读 · 0 评论 -
iOS学习 --- Model的使用
iOS开发中经常会用到Model,怎样把字典转化成Model呢?个人觉得用KVC是很方便的。。Demo地址字典类型#import "ViewController.h"#import "PeopleModel.h"@interface ViewController ()@endNSMutableDictionary *dic_per = [NSMutableDictiona...原创 2018-09-04 17:04:30 · 2444 阅读 · 0 评论 -
iOS学习 --- 时间间隔(NSDate、CFAbsoluteTimeGetCurrent()、CACurrentMediaTime()的应用场景)
背景:在App的开发中,会遇到一些要计算时间差的问题,比如:在友盟统计的列子里面,要统计一个页面从创建到销毁的时间或者统计用户在一个页面停留的时间。例如:我们数据缓存的情况下,要求在一个小时后从新刷新等情况。我们都要计算时间的间隔。方法有:时间戳 、CFAbsoluteTimeGetCurrent()等。框架层:NSDate 属于Foundation框架CFAbsoluteT...原创 2018-08-30 17:09:49 · 3156 阅读 · 0 评论 -
Xcode 【Xcode中关于自定义代码块的使用】
在Xcode的右下角,有一个两个大括号组成的图标,这个地方就是自定义代码块了。如,下图中就是一个for循环的系统自定义代码块,将其拖入到代码区内,就能直接使用,非常方便。 下面就是将代码块拖入到代码区之后的样子,和直接写for循环的提示是一样的。 当然除了运用编译器定义的代码块外,我们还可以进行自定义代码块:首先,选取一段我们想设置成代码块的语句,然后按下鼠标...原创 2017-04-05 15:03:39 · 522 阅读 · 0 评论 -
Xcode --- Xcode代码快设置
Xcode代码快功能我们在开发的时候会用到很多常用的代码,比如UITableView的代理,一般情况下我们要么自己敲要么复制粘贴,但是Xcode有一个功能,可以用一行代码敲出你预设的一段代码设置代码块敲出你想要设置的一段代码,然后全部选中按住鼠标左键拖到Xcode右边一个大括号的地拖过去之后可以看到最下面多了一个My Code Snippet,我们可以点击然后选择编辑它...转载 2017-07-10 10:56:53 · 462 阅读 · 0 评论 -
使用ASIHTTPRequest和ASIDownloadCache实现本地缓存
iPhone开发笔记(16)使用ASIHTTPRequest和ASIDownloadCache实现本地缓存2012-09-18 0 个评论 作者:kbawyg收藏 我要投稿 为了节约流量,同时也是为了更好的用户体验,目前很多应用都使用本地缓存机制,其中以网易新闻的缓存功能最为出色。我自己的应用也想加入本地缓存的功能,于是我从网上原创 2016-02-27 10:09:58 · 340 阅读 · 0 评论 -
iOS 获取本地视频播放路径
今天在做一个视频播放器,做好了之后发给别人,但是别人那里却播放不了。找了下原因,我用的是绝对路径,发给别人之后,别人在打开,肯定路径就不对了罗。 之前,我的路径是直接从左边把视频文件拖到代码区域得到的路径,如下图:这样,我可以播放,但是发给别人,别人那里就播放不了,因为在别人那里路径就改变了。所以,那就要换一种获取路径的方法。我们工程里面的图片和视频文件都放在应用程序包里面,所原创 2016-08-24 13:35:46 · 5409 阅读 · 0 评论 -
iOS中文网址路径转换URLEncode (一)
今天遇到一个问题,服务端返回的urlString里面有时含有中文,使用[NSURL URLWithString:urlString]生成URL对象时,iOS客户端不能正确进行网络请求,网上找到的URLEncode方法又不能完全解决问题. 方法1:NSString* encodedString = [urlStringstringByAddingPercentEscape原创 2016-10-10 09:32:31 · 525 阅读 · 0 评论 -
CoreData
大概8年前,在2005年4月,Apple发布了OS X 10.4版本,第一次引入了CoreData框架。那时YouTube也刚发布。Core Data是模型层的技术。Core Data帮助你构建代表程序状态的模型层。CoreData也是一种持久化技术,它可以将模型的状态持久化到磁盘。但它更重要的特点是:CoreData不只是一个加载和保存数据的框架,它也能处理内存中的数据。如果你曾接原创 2016-01-26 13:16:58 · 391 阅读 · 0 评论 -
Core Data
堆栈TheStackCore Data中有不少组件,它是一种非常灵活的技术。在大多数使用情况里,设置相对来说比较简单。当所有组件绑定在一起,我们把它们称为Core Data Stack.这种堆栈有两个主要部分。一部分是关于对象图管理,这是你需要掌握好的部分,也应该知道怎么使用。第二部分是关于持久化的,比如保存模型对象的状态和再次恢复对象的状态。在这两部分的中间,即堆栈中间,是持久化原创 2016-01-26 13:17:01 · 373 阅读 · 0 评论 -
NSUserDefaults
你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨。本文主要从概念上把“数据存储”这个问题进行剖析,并且结合各自特点和适用场景给大家提供一个选择的思路,并不详细介绍某一种方式的技术细节。谈到数据储存,首先要明确区分两个概念,数据结构和储存方式。所谓数据结构就是数据存在的形式。除了基本的NSDictionary、NSArr原创 2016-01-26 13:17:03 · 356 阅读 · 0 评论 -
ASIDownloadCache 设置下载缓存
ASIDownloadCache 设置下载缓存它对Get请求的响应数据进行缓存(被缓存的数据必需是成功的200请求):[ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]];//类方法调用 所有的请求都会被自动缓存当设置缓存策略后,所有的请求都被自动的缓存起来。原创 2016-01-29 21:09:01 · 304 阅读 · 0 评论 -
IOS开发网络加载图片缓存策略之──ASIDownloadCache缓存策略
在我们实际工程中,很多情况需要从网络上加载图片,然后将图片在imageview中显示出来,但每次都要从网络上请求,会严重影响用户体验,为了不是每次显示都需要从网上下载数据,希望将图片放到本地缓存,因此我们需要一个好的的缓存策略,今天我将我在项目工程中的实际经验分享给大家,我这里主要介绍一下强大的ASIHTTPRequest的缓存策略,以及使用方法: 下面是具体步骤: 一、原创 2016-02-27 10:18:34 · 367 阅读 · 0 评论 -
iOS 开发 初级:应用多语言化的方法
要使应用多语言化在Xcode中实现起来其实是相当容易的。对于大多数的应用,多语言化主要在于文字的多语言化,其他的诸如图形,界面的多语言化一般的应用并不会涉及。当然,这些在Xcode中都可以实现。下面主要介绍一下文字多语言化的方法。Step 1:为应用添加多语言版本这个很简单,在project中info下有localizations,点击+添加所需要的版本,这原创 2016-03-20 16:31:29 · 317 阅读 · 0 评论 -
iOS的逆向传值有很多种方法,下面来总结几种常用的传值方式(只贴相关代码):
第一种:代理传值第二个控制器:@protocol WJSecondViewControllerDelegate NSObject>- (void)changeText:(NSString*)text;@end @property(nonatomic,assign)iddelegate;- (IBAction)buttonClick:(UIButton*)sender {_s原创 2016-03-24 11:38:21 · 425 阅读 · 0 评论 -
一行代码,圆角风雨无阻,告别离屏渲染性能损耗
github链接: https://github.com/liuzhiyi1992/ZYCornerRadius 本文地址:http://zyden.vicp.cc/zycornerradius/ 欢迎转载,请注明出处,谢谢。 这篇文章介绍ZYCornerRadius(一句代码,圆角风雨无阻)解决生产中圆角带来的离屏渲染问题的思路。 日常生产中app布局离不开美丽的原创 2016-03-25 09:30:24 · 475 阅读 · 0 评论 -
利用RunTime实现iOS不同版本下使用不同的图片
1.UIImage 的类目.h//自己的非系统的+(UIImage *)imageWithNamed:(NSString *)name;.m//引入runtime框架库#import +(void)load{ //先执行编译,在执行main函数 NSLog(@"加载");原创 2016-01-29 21:28:34 · 310 阅读 · 0 评论 -
iOS 几种传值方式(属性,代理,block,通知,本地存储,单例类)附Demo
本来这次的代码写的比较简单,除了传值方式的选项外,没添加别的控件,只是把传过去的值在控制台打印了一下,但由于把多种传值方式放在了同一篇里面,所以文章会显得过长,文章内容都是直接粘的代码,主要是为了方便查看逻辑,有不清楚的地方,朋友们可以直接下载Demo看具体的结构和代码。事例Demo:链接: http://pan.baidu.com/s/1pJmlr9D 密码: 7faq原创 2016-03-28 17:32:31 · 666 阅读 · 0 评论 -
iOS中文网址路径转换URLEncode (二)
#import @interface NSString (URLEncode)- (NSString *)URLEncode;@end++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#import "NS原创 2016-10-10 09:34:08 · 604 阅读 · 0 评论 -
iOS开发怎么判断当前页面是push方式进入还是present方式进入
NSArray *viewcontrollers=self.navigationController.viewControllers; if (viewcontrollers.count>1) { if ([viewcontrollers objectAtIndex:viewcontrollers.count-1]==self) {原创 2016-10-14 14:30:45 · 1273 阅读 · 0 评论 -
iOS 升级HTTPS配置ATS-----(1)------
关于iOS9中的App Transport Security相关说明及适配(更新于2016.7.1)摘要: 为解决在iOS9下基于ATS对HTTP的请求的说明及适配进行说明2016.7.1根据苹果官方文档的修改做出文档的调整,并加入对诊断ATS的命令行工具nscurl进行说明。2015.8.19解决在iOS9下原创 2016-12-08 17:36:24 · 1974 阅读 · 0 评论 -
iOS 升级HTTPS配置ATS-----(2)------
由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现。网上搜索了一些比较有用资料,大家可以参考下苹果强制升级的HTTPS不仅仅是在接口HTTP上加个S那么简单:它所有满足的是iOS9中新增App Transport Security(简称ATS)特性:那满足ATS我们需要原创 2016-12-08 17:57:40 · 742 阅读 · 0 评论 -
iOS 中的 Attribute - 富文本文字
NSFontAttributeName(字体)该属性所对应的值是一个 UIFont 对象。该属性用于改变一段文本的字体。如果不指定该属性,则默认为12-point Helvetica(Neue)。NSParagraphStyleAttributeName(段落)该属性所对应的值是一个 NSParagraphStyle 对象。该属性在一段文本上应用多个属性。如果不指定该属性,则默认为原创 2017-05-15 16:17:16 · 277 阅读 · 0 评论 -
一个UILabel不同部分显示不同颜色
我们直接来看效果图吧: 需求:就是表格cell里面的状态Label,前面的“状态:”是黑色,后面的状态值是红色,他们在同一个Label上,怎么做呢?解答:真的是会者不难,难者不会啊,使用富文本,轻松搞定。费话不多说,直接上代码: 1 // 根据状态值合成富文本 2 - (NSMutableAttributedString *)getStateS原创 2017-05-15 15:46:02 · 1055 阅读 · 0 评论 -
iOS开发中(null)与<null>的处理
不小心在开发过程中,得到了(null)以及的返回值,找了好长时间只找到了一个关于的。由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的具体字符,在得到(null)后利用isEqual:和@“”,NULL,@“(null)”,nil,Nil比较后均得不到正确结果,弄得不知所措了,但是还是感觉像nil,不得已,创建一个字符串,赋值为nil,打印输出,果然是(null),想不通的原创 2017-04-01 16:42:10 · 554 阅读 · 0 评论 -
关于App进入background状态
鉴于苹果对iOS系统的封闭政策,让我们的APP在进入background状态能做的事情非常有限。一般应用在进入background状态后只有几秒的时间留给用户进行一些清理和数据保存的时间。App立即就被系统挂起(当然可以理解是用户也不会让你的APP在背后背着我干一些不知道的事情耗费电量和手机流量,手机电量已经成为智能手机的软肋,一般现在是一天一充(android手机),苹果手机当然好一些,毕竟别个...原创 2017-04-01 16:40:16 · 959 阅读 · 0 评论