![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios
凉城旧梦gg
彼岸花,花开彼岸,花叶不得相见.
展开
-
iOS中protobuf和tcp长链接(AsyncSocket)scoket配合使用
在ios开发中,客户端开发最重要的就是数据的获取和展示了,说到获取数据,AFN是目前用的最广的类库了吧,不过在实时数据tcp获取上面,我们还是需要用到AsyncSocket这个类库来进行开发。不过近日听过网上google的一个protobuf协议十分好用,就研究了一下。 AsyncSocket的下载和引用以及protobuf的安装和使用都在之前的博客中讲过,不懂的同学可以去稍稍看一下。 接着我们原创 2015-11-25 18:07:28 · 1971 阅读 · 0 评论 -
iOS开发之集成支付宝
之前写了银联支付,今天研究了一下支付宝支付。1.首先下载支付宝sdk开发包以及demo:https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=12.支付流程:其实所有的支付,包括银联,微信,支付宝等差不多都是这个流程,没多少区别。3.集成流程:开发文档在这里:https://doc.open.al原创 2017-03-28 17:33:35 · 4373 阅读 · 0 评论 -
iOS播放器开发之MPMoviePlayerController
MPMoviePlayerController是iOS中进行视频播放开发的一个控制类,里面涵盖了视频播放中大部分的需求功能,在使用这个框架时,需要导入头文件<MediaPlayer/MediaPlayer.h>MPMoviePlayerController具备一般的播放器控制功能,例如播放、暂停、停止等。但是MPMediaPlayerController自身并不是一个完整的视图控制...原创 2017-03-09 15:00:34 · 3759 阅读 · 0 评论 -
iOS数据缓存和清除
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。 获取缓存文件的大小由于缓存文件存在沙箱中,我们可以通过NSFileManager API来实现对缓存文件大翻译 2016-11-25 16:10:04 · 3005 阅读 · 0 评论 -
ios之json格式转换
JSON 解析常用的第三方框架有:JSONKit、SBJson、TouchJSON,其性从左到右依次降低。但是从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization)。 JSONKit 已经在 2012 年停止更新,官方说 JSONKit 比苹果原生的 NSJSONSerialization 解析速度快,实测其实苹果原生的 NSJSONSerializatio翻译 2017-06-05 11:29:43 · 3251 阅读 · 0 评论 -
int、 NSInteger、 NSUInteger、NSNumber之间的区别
int : 当使用int类型定义变量的时候,可以像写C程序一样,用int也可以用NSInteger,推荐使用NSInteger ,因为这样就不用考虑设备是32位还是64位了。NSUInteger:是无符号的,即没有负数NSInteger:是基础类型,是有符号的。NSNumber:是一个类,比如在字典,数组中就只能存NSNumber,而不能存放int或者NSInteger这些基本类型。这里补充一下NS原创 2017-06-09 11:58:14 · 693 阅读 · 0 评论 -
Objective C之数组排序
大体上,OC中常用的数组排序有以下几种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors: 1、简单排序(sortedArrayUsingSelector:)如果只是对字符串的排序,可以转载 2017-05-27 16:39:08 · 721 阅读 · 0 评论 -
PureLayout的使用
上次我们学到关于autolayout的代码使用,但是可能很多人写着写着就不想写了,为什么呢,代码量太多了 ,为此我门将学习一下PureLayout的使用,来减少我们布局的代码量。原创 2015-07-28 13:16:54 · 9240 阅读 · 0 评论 -
修改navigationbar右侧按钮离屏幕边缘位置
先上代码UIButton *settingBtn = [Utils creatCustomButtonWithFrame:CGRectMake(0, 0, 60, 40) btnTitle:@"设置" btnFontSize:14 titleColor:[UIColor blackColor]];[settingBtn addTarget:self action:@selector(clickTh转载 2017-08-29 11:42:12 · 1886 阅读 · 0 评论 -
iOS 之 ExclusiveTouch属性
exclusiveTouch属性: 默认是NO,如果设置为YES则当前UIView会独占整个Touch事件。具体来说就是如果UIView设置了exclusiveTouch属性为YES则当这个UIView成为第一响应者时,在手指离开屏幕前其他view不会响应任何touch事件。 举例说明:- (void)viewDidLoad { [super viewDidLoad]; UIB原创 2018-03-05 14:15:11 · 2031 阅读 · 0 评论 -
ios音乐播放耳机监听事件
拔耳机监听操作//添加通知,拔出耳机后暂停播放 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(routeChange:) name:AVAudioSessionRouteChangeNotification object:nil];通知方法:/** * 一旦输出改变则执行此方法转载 2017-02-22 09:42:14 · 1296 阅读 · 0 评论 -
iOS中uitableview滑动删除添加按钮
一:如果我们不添加任何按钮,直接需要一个删除的话,很简单-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ if (editingStyle==UIT原创 2016-12-13 14:09:41 · 324 阅读 · 0 评论 -
ios中UITabBarController单击(双击)处理事件
如题,像qq,当我们单击下方的消息时,扣扣会帮我们自动滑动到未读消息上面,当然也有一些是双击滑动,还有一些是双击下方的TabBaitem完成下拉刷新。由于公司项目需要,就稍微研究了下这个功能。网上说的什么都有,干脆自己写算了,有不好的地方还请指出来。首先我们创建一个demo,架构为一个UITabBarController加两个已经设置rootviewcontroller的UINavigationCo原创 2016-10-14 19:10:13 · 6811 阅读 · 0 评论 -
xcode6、xcode7如何添加空项目模版
自从xcode升级到6之后,空项目模版就已经不在了,但是对于我们程序员来说,很多时候我们还是喜欢使用空项目来做一个app的开发,那么如何添加空项目模版呢?原创 2015-11-25 17:15:28 · 1658 阅读 · 0 评论 -
iOS就九宫格实现
ios九宫格实现: 如图: //列数 int totalloc=3; //有多少个需要展示的imageview int count=12; //imageview的宽高 CGFloat imageviewH=80; CGFloat imageviewW=80; //间距 CGFloat margin=(self.view.fram原创 2016-03-04 15:48:18 · 497 阅读 · 0 评论 -
OC中的字符串属性(深拷贝和浅拷贝)
我们在项目中定义一个字符串属性的时候,有时候见到别人用retain,有时候见到用copy。那么到底这两种用法有什么区别呢? 这就需要我们了解深拷贝和浅拷贝和区别了。 其实copy是创建一个新对象,retain是创建一个指针。 Copy其实是建立了一个相同的对象,而retain不是。怎么理解呢? 比如我们有一个NSString对象,地址为0×1212,内容为@”str” 。Copy到另外一个NSS原创 2016-03-05 14:08:10 · 1384 阅读 · 0 评论 -
iOS更改app项目的名字
在ios中更改app的项目名字是一个麻烦事,不过有时候根据需要我们不得不去修改,正好这两天我也修改了一下我的app名字,就去研究了一下,今天拿来给大家分享。原创 2016-02-25 11:39:03 · 6866 阅读 · 0 评论 -
iOS项目本地git添加和删除
iOS本身的git添加有两种方式: 大多数,我们的文件夹中有一些隐藏文件,比如git,svn这样的文件夹和文件。 能查看这些隐藏文件之后,我们就来添加git管理。原创 2016-02-26 11:27:46 · 4648 阅读 · 0 评论 -
for in 快速枚举
突然研究了下for循环和for in 的区别,之前一直觉得这两者是相同的。for in实际上是快速枚举,跟for循环意义上还是有区别的。你去研究一下枚举。oc的for in 快速枚举遍历的时候是按照元素在容器内的顺序(NSArray中元素的顺序是你添加的顺序,NSSet和NSDictionry中元素的顺序是按照底层算法进行排序的与你添加的顺序不同)进行枚举的。要注意的是使用for in快速枚举NSM原创 2016-05-27 10:03:59 · 1295 阅读 · 0 评论 -
TableViewController中的搜索框和mj刷新配合使用
很早之前我写的又一篇博客,讲解IOS中UISearchController搜索框筛选功能实现,在此附上链接地址:http://blog.csdn.net/qq_29892943/article/details/48182275 然后最近在使用mj刷新的时候碰到了一个问题。 首先看代码:#import "JYTableViewController.h"#import "MJRefresh.h"@原创 2016-07-05 14:28:52 · 2042 阅读 · 0 评论 -
特别实用而且功能强大的attributedText属性
#import "ViewController.h"#import <CoreText/CoreText.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad];//设置字体 UIButton *btn=[[UIButton a翻译 2016-07-08 11:18:33 · 5131 阅读 · 0 评论 -
ios代理模式深入了解一下
首先代理的基本使用我就不说了,今天主要说一下代理的一些特殊情况1.我们一般调用代理方法有两个 if ([self.delegate respondsToSelector:@selector(vcReceiveInstall:)]) { [self.delegate vcReceiveInstall:@"11"]; } if (self.delegate) {原创 2016-08-24 11:53:02 · 411 阅读 · 0 评论 -
iOS开发之GitHub托管代码
一:1,注册GitHub(这个不说),开始创建仓库 注意:其中repository name注意要用英文,如果使用中文则只会显示一个 - 2,mac上一般都安装了git,没有安装的请自行安装。 对于OS X Mavericks 10.9: 显示git管理目录(这属于一个隐藏文件,请不要进行操作以防止破坏git): defaults write com.apple.finder Ap...原创 2018-03-28 18:06:44 · 447 阅读 · 0 评论