自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 对于苹果手机助手如何绕过iTunes和App Store为未越狱设备安装应用的一点思考

市面上有很多的苹果手机助手,诸如:PP助手、XY苹果助手、爱思助手、iTools、海马助手等等。有人说苹果手机助手分发应用的原理是apple ID账号分享,其原理就是: 先按苹果的流程购买获得各个APP的安装文件,也就是iPA包,然后放在自己的服务器上供用户在不输入apple ID的情况下通过自家的苹果手机助手下载应用,以此办法来在自己的平台上分发应用。并模拟iTunes的通信规

2020-12-29 13:54:07 2772 2

原创 开发过程中的小知识点总结(六)

开发过程中的小知识点总结(六)1、UITextField中禁止复制粘贴封装UITextField,重写 -(BOOL)canPerformAction:(SEL)action withSender:(id)sender例:- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{ if (action == @selector(paste:)) //禁止粘贴 return NO; if (action

2020-12-23 16:15:07 424 1

原创 图片的显示过程

iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤:(加载->解码->渲染) 1、根据URL从磁盘中取出图片数据 2、生成UIImageView,把图像数据复制给UIImageView,(imageView.image = image) ...

2019-08-16 16:12:12 1377

原创 性能优化总结

界面显示原理: CRT显示器和液晶显示器显示原理都是一样的:CRT电子枪按照上面的方式,从上到下一行行扫描,每次换行扫描显示器会发出一个水平同步信号,简称HSync; 但从上往下扫描完之后,就相当于是一帧画面绘制完成,电子枪回复到原位,准备绘制下一帧...

2019-08-16 16:11:44 261

原创 UITableView实现左滑删除的几种方式

一 、UITableView左滑删除实现方式之一://进入编辑模式,按下出现的编辑按钮后,进行删除操作 iOS8必须实现这个代理方法才会有侧滑效果- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:...

2018-09-20 17:58:55 1808 1

原创 开发过程中的小知识点总结(五)

1.对数组中的元素去重的方法之一 //对可变数组进行去重NSMutableArray *phoneArray = [NSMutableArray array]; for (int i = 0; i < person.persons.count; i++) { [phoneArray addObject:person.persons[i].phones.fi...

2018-09-20 16:53:12 306 1

原创 iOS中常见的造成dealloc不调用的原因

iOS开发中常见的造成dealloc不调用的原因自己遇到的问题描述: 最近项目里要用到AVPlayer播放器,自己便写了一个简单的播放器,但是却遇到了一个很奇怪的问题,,在播放中途点击了关闭按钮,dismiss了VideoPlayerViewController,但是画面关闭了,声音一直还在,而且内存爆增。 后来几经发现才找到问题所在,是VideoPlayerViewContro...

2018-04-18 11:41:31 4193

原创 开发过程中小的知识点梳理(四)

1.presentViewController显示方式的窗口,没有导航栏的解决方法InvitationViewController *invitation = [[InvitationViewController alloc] init];UINavigationController *nav = [[UINavigationController alloc] initWithRootViewCo

2018-04-09 18:02:43 292

原创 加载GiF动画

前言:需求上的需要,UI这边给了一张GIF动画,让做为动图按钮加载出来。 加载GIF动画的办法有非常多种,下面简单写一下自己的做法。一、使用SDWebImaged的GIF扩展类加载本地Gif文件#import "gifViewController.h"#import "UIImage+GIF.h"@interface gifViewController ()@property (nonatomi

2018-03-06 14:56:43 1589

原创 开发过程中小的知识点梳理(三)

1.通过NSURL获取的图片->NSData->UIImage并进行压缩UIImage *image = nil;NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:weakSelf.shareInfoModel.image]];image = [UIImage imageWithData:imageDat

2018-02-09 18:28:54 260

原创 UITableView自动计算cell高度

UITableView自动计算cell高度这篇文章来说一下UITableView的cell自适应高度,其实很简单,,但是最重要的是一定要给cell自上而下加好约束,如果写出来的的cell没有自适应高度,那基本上都是cell的约束没有写好的原因,,这个很重要,自上而下,,上下左右的约束都要写好,才能达到自适应高度的效果。 1. 在写高度的时候使用:- (CGFloat)tableView:(UITab

2018-01-04 15:29:31 3024

原创 开发过程中小的知识点梳理(二)

开发过程中小的知识点梳理(二)1. iOS 向下取整、向上取整、四舍五入向上取整:float ceilf(float); double ceil(double);向下取整:float floorf(float); double floor(double);四舍五入:float roundf(float); double round(double); CGFloat a = 3.

2018-01-04 14:47:38 335

原创 开发过程中小的知识点梳理(一)

开发过程中小的知识点梳理UILabel显示不同字体和颜色NSString *myTotal = [NSString stringWithFormat:@"积分 %@",18];NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:myTotal];//颜色[a

2018-01-04 11:36:31 272

原创 Mac升级到10.13.1 之后cocoapods出现问题的解决办法

我最近把我的Mac系统升级到了最高版本,macOS High Sierra(10.13.1),升级之后发现cocoapods出现了问题,,现把问题和解决办法罗列如下:问题:/usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such f

2017-12-04 14:01:50 2194 1

原创 UICollectionView和自定义UICollectionViewCell的基本用法

下面简单介绍一下UICollectionView的基本用法:直接上代码:STPlayHistoryViewController.m//// STPlayHistoryViewController.m#import "STPlayHistoryViewController.h"#import "STPlayHistoryViewCell.h"@interface STPlayHistoryVie

2017-10-12 17:12:25 5728

原创 编译时出现类名.o错误的时候的四种处理情况

1.查看工程里是否缺失相关文件!2.是否在导入头文件的时候导入成了.m文件,,例:#import “*.m”;3.工程导入两个同名类;4.工程里的bid phases里缺少相关的.m文件;

2017-10-12 10:09:34 2353

原创 NSSortDescriptor和NSPredicate的使用总结

在这个项目中遇到了一些对数组、字典进行的复杂操作的需求,具体表现在播放历史那一块,需求如下: 要本地用sqlite存储播放过的视频vid和视频播放的时间戳sort_time,然后再用数组转字符串的形式给接口传这些vid,用来获取视频详情信息。把从接口获取到的json数据转成模型数组dataArray之后,数组里的数据可能是无序的,所以要先对数组进行按时间戳降序排列,排序完了之后还要对这些

2017-09-25 17:10:03 1199

原创 关于Gitlab和SourceTree以及配置SSH的一点自我总结

Gitlab是Git的另一个产品,是专门负责项目代码远程托管的地址,最近去我司的另一个项目组帮忙才首次接触到。 现总结一下首次使用的配置。第一步:首先生成公钥 打开终端命令行输入: $ ssh-keygen -t rsa -C “邮箱地址”这里的邮箱地址是你的Gitlab邮箱账号。 然后按3个回车,密码为空。 在.ssh文件夹下找到这三个文

2017-07-30 16:19:33 601

原创 自我整理:iOS端APP真机调试和打ipa包完整流程

一、真机调试过程:1.进入开发者中心:Apple developer2.输入个人开发者账号的账号和密码,从而进入开发者中心 3.点击Certificates, IDs & Profiles4.添加能用于真机调试的设备的UDID;;Xcode选择了该设备之后,其UDID可以在Windows -> Devices查看 5.添加APP ID,,也就是B

2017-06-27 16:15:58 3280

原创 解决Pod静态库时出现的Podfile.lock: No such file or directory报错问题

问题:diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your Co

2017-06-20 17:55:17 2411

转载 iOS开发证书、描述文件、bundle ID

详情查看链接 1. iOS开发证书,描述文件,bundle ID的关系 : http://www.jianshu.com/p/21ebca8cadf62. iOS管理账号,Bundle ID,真机调试  : http://www.jianshu.com/p/0c5e856a2c883. 最详细iOS打包、证书等的讲解: http://www.jian

2017-06-20 14:37:57 671

转载 SVN之Cornerstone的使用和常见问题

详情查看链接: http://www.jianshu.com/p/9ff1fbca8106

2017-06-20 09:52:10 687

原创 Masonry的基本使用

Masonry第三方库的使用的一些问题:基本使用方法(语法/方法/比例等等)[sv mas_makeConstraints:^(MASConstraintMaker *make) { make.center.equalTo(ws.view); make.size.mas_equalTo(CGSizeMake(300, 300)); make.h

2016-12-13 14:28:04 984

原创 AFNnetworking3.0.4和AFNnetworking1.3.4的基本使用

最近公司的项目中沿用的AFN居然是1.3.4版本的,这样小白出身的我有点摸不着头脑,现在使用最多的版本是最新的3.0.4,网上关于1.3.4版本里那些现在已经被删除的方法的使用介绍都特别少,这样我好生纠结,经过一番研究之后,现总结一下自己的使用心得。废话不多说,直接上代码。 **AFN1.3.4版本** GET请求 - (void)Model{ //1.3.4 GET AFHTTPC

2016-12-11 15:57:13 410

原创 AFNetworking3.0.4和JSONModel1.0.2的基本使用

最近公司在做一个新项目,在这里总结一下AFNetWorking和JSONModel的配合使用。AFNetWorking是进行网络数据的请求,请求下来的一般是JSON格式的网络数据,JSON格式即为字典格式,即key和value一一对应。 有了JSON格式的网络数据之后,再使用JSONModel,将JSON转换成model,这样就能用“model.”来调用任意的key,来取出你想要的value值进行

2016-11-04 15:09:02 523

原创 CocoaPods的安装和第三方的加载总结

**1.安装cocoa pods的步骤:** 打开终端,先输入: $ gem sources -l移除原ruby镜像源$ gem sources —remove https://rubygems.org/新增taobao实时镜像源 $ gem sources -a https://ruby.taobao.org/验证现有源$ gem sources -l安装cocoapods$

2016-11-03 10:16:46 347

原创 二叉排序树

动态查找表之二叉排序树二叉排序树又称二叉查找树或二叉搜索树,基本操作有插入、删除、查找等; 在二叉排序树的操作中以二叉链表做存储结构,定义如下: typedef struct node{ KeyType key; /关键字项/ Datatype other; /其他数据项/ struct node * lchild, *

2016-11-03 09:57:56 475

原创 计算机网络中应用层之HTTP协议

HTTP协议是超文本传输协议,是一个应用层的协议,是客户端和服务器端之间进行通信的一个协议, 一种典型的“请求-响应”式工作模式,即:客户端发起请求,服务器端回送响应。HTTP协议工作流程:1.首先客户端与服务器端需要加建立连接(常用的是建立TCP连接,还有“三次握手”的内容在后面介绍)。只要单机超链接,HTTP便开始工作。2.建立连接后,客户端发送一个请求给服务器。 (请求的报文格式在后面介

2016-10-10 10:58:19 1704

原创 JSONKit、Alamofire、AFNetworking解析json数据

JSONKit、Alamofire、AFNetworking这三个第三方库是工作中常用来解析j son数据,上传下载,获取URL地址里传过来的数据的工具,今天我来总结一下我在开发中是如何使用这三个工具进行json数据的解析。 对于cocoapods的使用和如何将第三方库加入自己的项目中,在此我不过多描述,这里我们只谈如何使用这三个第三方库进行json解析,后续的博客中我会写一个关于cocoapod

2016-10-06 21:09:24 1992

原创 关于内存管理的总结

每一种编程语言在使用的过程中,都会开辟内存空间,常用的两种存储结构是栈区和堆区。这两种结构的使用特点和分配方式各有差异(在前面图吧导航引擎组的电面总结博客里已经浅析了他们的区别),内存管理所说的管理,大是管理的堆区,因为堆是由程序员自己申请空间大小,自己手动释放,可操作性比较强;而栈区是由系统自动分配,程序结束后自动释放内存,程序员无法控制。我所接触到的内存管理的方式有以下几种:MRC、ARC、GC

2016-10-05 16:55:09 474

原创 Cocoa和Cocoa Touch框架浅析

近几日在招聘网站上看到IOS招聘的要求中经常出现要求会Cocoa框架、Cocoa Touch框架、Foundation框架等等,那到底以上这些框架是啥,他们有什么关系呢,在教室里闲来无事总结一波。Cocoa框架是指Foundation框架和Application kit框架;Cocoa Touch框架是指Foundation框架和UIKit框架。Cocoa框架用于Mac OS X桌面和笔记本电脑的应

2016-10-04 15:40:29 2421

转载 OC基础

第一节总括 这一节是对Objective-C(以后简称OC)的简要介绍,目的是使读者对OC有一个概括的认识。 1.面象的读者 在阅读本文之前,应具备使用与C类似的编程语言(如C,C++,JAVA)的一些经验,同时熟悉面向对象编程。 2.OC简介 OC是以SmallTalk为基础,建立在C语言之上,是C语言的超集。20世纪80年代早期由 Brad J

2016-10-03 08:27:44 341

原创 焦点科技(上市公司)HR面总结

说一下今天下午焦点科技有限公司的HR面情况:1.说一下什么时间开始学习的IOS,如何学习的?答:这个问题上次图吧导航引擎组的HR也问了,主要是想看一下你是不是在培训机构培训过,IOS方面是否为自己在校自学。我结合自己当初在老师的实验室和在公司实习时的情况说了一下自己的自学经过,包括看书、看视频、看博客等都是我自学的学习途径。2. 为什么选择南京这个城市,南京这么多互联网企业为什么选择我们企业?

2016-09-30 18:05:28 4880 3

原创 图吧导航引擎组2017校招电面总结

写在图吧导航引擎组电面之后今天上午10点左右图吧导航引擎组IOS岗打电话面试,本人参加的是2017校招,所以简历筛选过后,先给的电面。目前面试结果尚不得而知,面试的过程还是很nice的,电面是个女面试官,在我回答不上来的时候也着意去引导一下我。刚开始,先谈了谈我自己自学IOS的过程,以及实习的经历还有在校学习iOS的过往,还有他们公司的产品以及发展方向。之前对他们公司还是有所了解,最为诱人的还是工资

2016-09-24 19:59:01 719

原创 静态查找表的总结

一、顺序查找表1.顺序查找表: 顺序查找的过程为:从表的一端开始扫描,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,若直至表的另一端,其关键字和给定值比较都不等,则表明表中没有所查记录,查找不成功。2 . 算法分析: (1) 在最坏的情况下,顺序查找需要比较 n 次,即 MSL = n 。 (2) 最好的情况是第一个元素即为目标元素,最

2016-09-18 10:39:05 872

原创 数据结构之查找

**数据结构之查找**查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素。若表中存在这样的一个记录,则称为查找成功,此时查找的结构为给出整个记录的信息,或指示该 记录在表中的位置;否则称为查找不成功。查找的分类:静态查找表:若对查找表只进行查询和检索操作,称此类查找表为静态查找表。包括四种查找方式:顺序表的查找、有序表的查找(折半查找)、静态数表的查找、索引顺序表的查找(

2016-09-17 16:41:02 604

原创 八大排序算法的实现和分析

1.插入排序—直接插入排序(Straight Insertion Sort)算法思想: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。稳定性分析: 如果碰见一个和插入元素相等

2016-09-17 15:57:06 912

原创 重载、重写、抽象类、接口

1.插入排序—直接插入排序(Straight Insertion Sort)算法思想: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。稳定性分析: 如果碰见一个和插

2016-09-07 07:51:39 599

原创 常见的八大排序算法的比较和选择依据

一、八大排序简介:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。面试中常见的是快速排序和归并排序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的

2016-09-03 21:25:58 4018 2

原创 Swift中关于字符串的相关操作

Swift中关于字符串的相关操作1.字符串的大写和小写操作可以通过字符串的uppercaseString和lowercaseString属性来访问一个字符串的大写和小写版本。 代码: let normal = "Could you help me" let shouty = normal.uppercaseString //shouty的值为"C

2016-08-19 23:14:21 331

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除