- 博客(224)
- 资源 (39)
- 收藏
- 关注
原创 Swift字符串截取extention,简便截取方法
Swift的字符串截取并不能直接通过下标设置起始和结尾位置,通常比较繁琐。eg: //原生的 let index = str.index(str.startIndex, offsetBy:3) print(str[index]) //d let endIndex = str.index(str.endIndex, ...
2019-04-10 21:23:56
403
原创 LeetCode 无重复字符的最长子串(Object-c实现)
Question:给定一个字符串,找出不含有重复字符的最长子串的长度。Ex:给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。给定"bbbbb",最长的子串就是"b",长度是1。给定"pwwkew",最长子串是"wke",长度是3。请注意答案必须是一个子串,"pwke"是子序列而不是子串。oc解法:/*...
2019-03-22 16:11:33
491
原创 oc实现栈
栈栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。/* 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。 它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶, 需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出...
2019-03-21 17:12:32
1147
1
转载 Objective-C算法和数据结构
多年来,我在我的存储库中积累了许多有趣的代码,这些代码来自我参与的不同研究和辅助项目。很多这些代码都基于C,C ++和Objective-C,但最终却从未见过光明,因为它被废弃为大项目或被弃用的功能的一部分。上周我查看了我的旧Objective-C档案,并意识到我有一些非常有趣的一般计算机科学算法的例子,我从未与博客观众分享过。这就是为什么我想写这篇文章,与你(我的博客观众)分享我最近在我的网站的...
2019-03-20 15:54:49
533
转载 OC数据结构总结
本篇为转载,颜色标注部分为本人理解内容。https://www.agnosticdev.com/blog-entry/objective-c/objective-c-algorithms-and-data-structures具体实现示例:https://github.com/quinntaylor/CHDataStructures数组栈栈是一种特殊的线性表,仅能在线性表的一端操...
2019-03-20 15:40:28
803
转载 iOS数据结构 和 算法 上
我在这里简单介绍一下 如果觉得有用尽管拷了去数据结构 写算法之前呢,我想简单介绍一下数据结构,数据结构通常分为四类1.集合结构 线性结构 树形结构 图形结构 这里没有图啊,大家可以抽象一下。1.1、集合结构 说白了就是一个集合,就是一个圆圈中有很多个元素,元素与元素之间没有任何关系 这个很简单 1.2、线性结构 说白了就是一个条线上站着很多...
2019-03-19 20:03:20
1061
转载 二叉树-你必须要懂!(二叉树相关算法实现-iOS)
二叉树-你必须要懂!(二叉树相关算法实现-iOS)这几天详细了解了下二叉树的相关算法,原因是看了唐boy的一篇博客(你会翻转二叉树吗?),还有一篇关于百度的校园招聘面试经历,深刻体会到二叉树的重要性。于是乎,从网上收集并整理了一些关于二叉树的资料,及相关算法的实现(主要是Objective-C的,但是算法思想是相通的),以便以后复习时查阅。什么是二叉树?在计算机科学中,二叉树是每个节点...
2019-03-19 20:01:14
228
转载 贪心算法及几个经典例子
贪心算法一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态...
2019-03-19 19:53:51
2611
1
转载 iOS算法笔记-快速排序-OC实现
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。先来感受一下快速排序动态过程快速排序过程快速...
2019-03-19 19:50:30
221
转载 面试常考的常用数据结构与算法
数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易。在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考察一个人这方面的能力,把每种结构和算法都问一遍不太现实。所以,实际的情况是,企业一般考察一些看起来很基本的概念和算法,或者是一些变形,然后让你去实现。也许看起来简单,但是如果真让你在纸上或者是计算机上快速地完成一个算法,并且设计测...
2019-03-19 19:47:55
412
转载 《算法图解》部分算法实现--OC版
本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用 算法为软件开发助力。前三章介绍算法基础,包括二分查找、大 O 表示法、两种基本的数据结构以及递归 等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括 :面对具体问题时的解决技巧,比如何时采用 贪婪算法或动态规划 ;散列表的应用 ;图算法 ;K 最近邻算法。本书适合所有程序员、计算机专业相关师生以及对算法...
2019-03-19 19:41:47
190
原创 oc归并算法实现
合并算法Merge Sort给定整数数组,使用Merge Sort算法对数组进行排序。示例:数组:12,35,87,26,9,28,7输出:7,9,12,26,28,35,87 算法/洞察 Merge sort是一种基于比较的算法,它使用分而治之的方法在O(n logn)时间内对数组进行排序。合并排序是一种稳定排序,即它在排序后保留相同数组元素的顺序。合并排序算法是:...
2019-03-19 18:02:43
274
转载 iOS性能调优系列(全)
目录总结:三类工具基础工具 (NSLog的方式记录运行时间.)性能工具.检测各个部分的性能表现,找出性能瓶颈内存工具.检查内存正确性和内存使用效率性能工具:可以衡量CPU的使用,时间的消耗,电池的消耗一、Time Profile内存工具:关心内存泄露和内存垃圾问题一、Analyze静态分析1. 静态内存分析2. 内存分配二、Leaks动...
2019-03-15 18:00:05
361
转载 IOS 详解socket编程[oc]粘包、半包处理
在做socket编程时,如果是做tcp连接,那就不可避免的会遇到粘包与半包的问题,粘包就是多组数据被一并接收了,粘在了一起,无法做划分;半包就是有数据接收不完整,无法处理。要解决粘包、半包的问题,一般在设计数据(消息)格式时会约定好一个字段专门用于描述数据包的长度,这样就使数据有了边界,依靠这个边界,就能把每组数据划分出来,数据不完整时也能获知数据的缺失。(当然也可以把数据设计成定长数据,但这...
2019-03-15 17:33:37
1458
转载 iOS UI事件传递与响应者链
响应者链 响应者对象:继承自UIResponder的对象称之为响应者对象。UIApplication、UIWindow、UIViewController和所有继承UIView的UIKit类都直接或间接的继承自UIResponder。 UIResponder一般响应以下几种事件:触摸事件(touch handling)、点按事件(press handling)、加速事件和远程控制事件:...
2019-03-15 17:28:04
358
转载 Socket简析与iOS实现
WebSocketSocket的基本概念1.定义网络上两个程序通过一个双向通信连接实现数据交互,这种双向通信的连接叫做Socket(套接字)。2.本质网络模型中应用层与TCP/IP协议族通信的中间软件抽象层,是它的一组编程接口(API),也即对TCP/IP的封装。TCP/IP也要提供可供程序员做网络开发所用的接口,即Socket编程接口。Socket的位置3.要素...
2019-03-15 17:22:56
161
原创 iOS面试题:子视图超过父视图部分是否可见,能否响应
目录1 题目:子视图超出父视图的部分能看到么?超出的部分有什么影响?2经典用途:tabbar中间凸起按钮点击。3 其他用法:菜单下拉tableview。1 题目:子视图超出父视图的部分能看到么?超出的部分有什么影响?子视图超出父视图的部分能看到。但是超出的部分不能响应事件。想让超出的部分响应事件,就该写父视图的hitTest方法。判断触碰区域是否在子视图内,如果在子视图...
2019-03-15 14:37:41
3636
原创 iOS面试算法总结1
1冒泡排序/***【冒泡排序】:相邻元素两两比较,比较完一趟,最值出现在末尾*第1趟:依次比较相邻的两个数,不断交换(小数放前,大数放后)逐个推进,最值最后出现在第n个元素位置*第2趟:依次比较相邻的两个数,不断交换(小数放前,大数放后)逐个推进,最值最后出现在第n-1个元素位置*…………*第n-1趟:依次比较相邻的两个数,不断交换(...
2019-03-15 11:46:25
282
原创 iOS ucloud多图异步上传
最近开发项目中,用到ucloud上传多图,使用GCD的group队列,进行多图异步上传,提高上传速度。调用如下://ucloud多图上传封装- (void)uploadMultiPic{ NSMutableArray *uploadImageArr = [NSMutableArray array]; //创建group dispatch_group_t ...
2019-03-11 16:04:42
534
转载 iOS开发-自动化打包Jenkins集成
前言自动化打包根本目的是为了节约时间,把重复且无技术含量的事情交给机器去做。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。更多的介绍大家自行百度,这里就不啰嗦了。由于工作需要,我们存在的自动打包的工程有3种,一种是单一的工程打包;一种是集成cocoapod的打包;还有一种是有www文...
2019-02-25 16:11:54
741
转载 iOS 用fastlane进行团队证书管理
前言团队开发中,经常会遇到新成员加入或者证书及配置文件的变更,此时往往会造成一堆证书/pp文件失效问题,故我们可以使用fastlane的match进行统一管理配置我们的目标 ---> 使用一个终端命令配置好一个项目所需要的所有证书及配置文件,从此妈妈再也不用担心我证书失效了关于fastlane的基本介绍及使用可以看这里:fastlane的基本使用(自动化打包发布)在使用fas...
2019-02-25 15:35:15
1110
转载 iOS自动化工具fastlane使用说明书
fastlane 介绍fastlane是用Ruby语言编写的一套自动化工具集和框架,每一个工具实际都对应一个Ruby脚本,用来执行某一个特定的任务,而fastlane核心框架则允许使用者通过类似配置文件的形式,将不同的工具有机而灵活的结合在一起,从而形成一个个完整的自动化流程。比如我需要完成一套发布流程:#发布到AppStorelane :release do #增加build版...
2019-02-25 14:55:03
1847
原创 iOS10.2以上和以下打电话,防止多次点击实现
//一行代码调用拨打电话,可兼容iOS10.2以上和以下,防止多次点击,多次弹框 [[NYSystemVM shareClient] callPhone:phone vc:self];下面是NYSystemVM的实现。NYSystemVM.h#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@in...
2019-01-25 17:48:53
635
转载 Mac与Windows双系统与虚拟机
一、双系统什么是Boot Camp?BootCamp是可以让您安装Windows和在Mac电脑上运行Windows的助理。Windows将被安装在Mac的另一个分区上,所以安装双系统需要分区。切换Mac/Windows系统也是十分的方便,重新启动或者按下option键即可选择当前需要的操作系统,相互切换系统需要重启,也就是说一台电脑有两种状态,一种是Mac状态,一种是Windows状态...
2018-09-26 11:26:39
15497
转载 安装黑苹果先判断你的电脑硬件是否有驱动支持
这几天又被某些事勾起了对MAC系统的折腾,无奈一直没有真正的MAC,只能拿普遍PC或笔记本电脑来安装,这就是所谓的安装黑苹果。以前在自已的HP 5310M上安装完黑苹果后,因为缺少驱动最后放弃。今天发现有一个工具可以先检查硬件是否有驱动,再决定安装。这东西不错,推荐。一、首先下载检查硬件黑苹果兼容性的专用软件:System infoWindows平台下载MacOsX平台下载Linux平台下载...
2018-09-26 10:34:22
21822
1
转载 IOS 滑动tableview,导航栏渐渐显示,搜索框显示在导航栏上
先看下效果图这样的效果图我们在很多app上也看到过,正好我们的项目中有需要,就来实现下。该效果有两种解决方案:一、自定义导航栏,在scrollViewDidScroll方法中,改变导航栏的颜色和搜索框的颜色二、使用系统自带的导航栏,让他的背景若隐若现的今天我们是使用方法二的实现~~1、导航栏若影若现可以使用第三方的库2、具体实现方法就是在自定义导航栏上的搜索框,和ui上的搜索框...
2018-09-26 09:00:17
1955
转载 iOS中常用的第三方库
现在对于我们 iOS 开发来说,基本上说不可能不使用第三方轮子啦,毕竟没那么多时间,而且自己造的轮子往往想着成为上图中的最后一个,结果却成了上图中第二个或第一个啦,当然大公司另当别论。下面我从之前用过的第三方轮子和看到不错的轮子进行总结一下。一、基本流程使用的第三方轮子 二、列表相关的轮子 三、图片相关的轮子 四、其他可能用的轮子一、基本流程使用的第三方轮子基本流程使用的第...
2018-09-26 08:48:14
573
转载 从零开始,5分钟创建并玩转属于自己的区块链(图文攻略)
声明 : 此文档只做学习交流使用,请勿用作其他商业用途author : 朝阳_tonyE-mail : linzhaolover@163.comCreate Date: 2016-7-18 10:31:15 MondayLast Change: 2016-7-18 11:31:22 Monday转载请注明出处:http://blog.csdn.net/linzhaolover前言...
2018-09-25 17:46:59
1332
转载 一个完整的区块链入门学习整理,吐血推荐!!!
一个完整的区块链入门整理,吐血推荐!!!入门介绍与原理:一、比特币1.比特币白皮书这是一切的开始2.精通比特币讲比特币很详细的一本书,看完基本对比特币的认识就清楚了。3.TheProof-of-Work ConceptPoW机制理论介绍,英文4.比特币的原理及运作机制这篇是新手向,适合向圈外人介绍什么是比特币什么是区块链5.比特币pow难度调节机制PoW的难度调节是一个要...
2018-09-25 17:42:29
1085
转载 windows 7下硬盘安装黑苹果Mac OS X图文教程
随着iphone的流行,苹果大行其道。越来越多的应用开发者加入苹果的行列,而还有更多想加入该行列的朋友苦于没有苹果机而止步,网上虽然有很多装黑苹果的教程,但都不实用。本人也是一名IOS开发者,在此把自己亲自装黑苹果的经验分享给大家。工具/原料 MAC硬盘安装助手 HJMAC.iso 分区工具DiskGenius win7启动菜单修改工具EasyBCD ...
2018-09-25 17:26:25
27484
4
转载 手把手教你利用Jenkins持续集成iOS项目
前言众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一批的用户在使用中纷纷出现闪退bug,轻则,很可能前期推广砸的钱都白费了,重则,口碑不好,未来也提升不起用户量来了。静下心来分析一下问题的原因,无外乎就是质量没有过关就上线了。除去主观的一些因素,很大...
2018-09-25 14:15:33
609
转载 iOS 中数据持久化的几种方式
文件 归档(NSKeyedArchiver) 属性列表(NSUserDefaults) 数据库(SQLite、CoreData、第三方类库) 一、文件 应用程序包: 这里面存放的是应用程序的源文件,包括资源文件和可执行文件。NSString *path = [[NSBundle mainBundle] bundlePath]; /Documen...
2018-09-25 11:50:40
424
转载 详解 CALayer 和 UIView 的区别和联系
作者:@武蕴牛x 授权本站转载。前言前面发了一篇iOS 面试的文章,在说到 UIView 和 CALayer 的区别和联系的时候,被喵神指出没有切中要点,所以这里就 CALayer 和 UIView 这个问题重新整理了下。这里会先分条解释,最后会在文章的结尾给出概括性总结。1.首先UIView可以响应事件,Layer不可以.UIKit使用UIResponder作为响应对象,来响应系...
2018-09-25 11:44:23
257
转载 iOS runtime机制和使用
runtime简称运行时。OC是运行时机制,也就是在运行时才做一些处理。例如:C语言在编译的时候就知道要调用哪个方法函数,而OC在编译的时候并不知道要调用哪个方法函数,只有在运行的时候才知道调用的方法函数名称,来找到对应的方法函数进行调用。导入想要使用runtime,就要先导入runtime库一般导入message.h,因为message.h包含了objc.h和runtime.h#...
2018-09-25 11:38:07
306
原创 iOS原生UISlider两边有空隙的解决方法
iOS原生UISlider两边有空隙,或者要改变slider的高度。写一个类继承于UISlider,重写里面的方法。@interface MyCustomSlider : UISlider@end#import "MyCustomSlider.h"@implementation MyCustomSlider/*// Only override drawRect: if you per...
2018-05-25 15:43:35
1326
转载 App在appStore上搜索不到的解决方案
前一阵出现了app在appStore上突然搜索不到的情况,经过查询ASO100发现被清词了。 经过艰苦卓绝的工作, 今天终于解决了, 特来修书一封. 给大陆客服打. 解决不了. 美国客服打转载请连接我的链接, 希望爱惜我的劳动成果上架App在appStore上搜索不到的解决方案0: 是否被清词0.1: 访问ASO100(https://aso100.com/)02: 输入app的名字。应该是查询不...
2018-04-16 18:02:57
28097
原创 Mac开发入门及NSTableView的使用(一)
前言:与iPhone开发不同,mac开发的类大都以NS开头,使用方法有不同之处。本文涉及项目创建,NSViewController,NSTableView,window的使用。文章后附demo。1 创建项目,xcode菜单 File/New/Project2 创建NSViewController,右键New File4 选中xib文件,添加NSTableView控件4 tableview代理,ta...
2018-03-29 14:26:33
5694
1
原创 iOS获取手机安装的所有应用信息(bundle id,icon,名称等)
读取app所有应用的信息,适用于iOS10以下,私有方法,app审核可能会被拒。- (NSArray*)readApplications{ NSArray* allInstalledApplications = [_workspace allInstalledApplications]; NSMutableArray* applications = [NSMutableArray array...
2018-03-28 10:01:05
5431
转载 最简单的Hopper Disassembler玩转Mac逆向
准备工作工具下载以下工具包括Folx都打包好上传网盘了,这里下载。Folx 一个mac上挺好用的下载工具,本文逆向破解的对象。直接把Folx.app拖到Applications文件夹中即可。mySIMBL 扩展包(plug in)管理软件,本文将要给Folx软件写扩展包达到破解的目的,因此使用mySIMBL进行扩展包管理,图形界面方便的删除、开启等功能。直接把mySIMBL.app拖到Appl...
2018-03-22 11:16:08
8277
类似微博个人主页头像背景可随tableview移动,分栏tableview
2016-08-31
AFNetworking网络请求封装Demo
2016-08-29
iOS视频剪辑和添加背景音乐Demo
2016-08-24
iOS MDM开发DEMO
2016-08-22
Mac下清理工具OmniDiskSweeper
2016-08-03
iOS 9.3 真机调试 Disk Image
2016-03-29
iOS加密解密大全含注释(MD5,SHA,Base64等)
2016-03-28
iOS捕获异常组件UncaughtExceptionHandler
2016-03-28
iOS AVPlayer自定义在线视频界面完美支持横竖屏
2016-01-27
iOS tableview view自动布局
2018-12-20
Mac开发入门及NSTableView的使用(一)
2018-03-29
JPVideoPlayer仿微博视频边下边播之滑动TableView 自动播放
2018-03-28
iOS获取手机安装的所有应用信息(bundle id,icon,名称等)
2018-03-28
PPGetAddressBook获取系统通讯录并排序
2018-02-02
WebSocket的封装SRSocket用法。
2017-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人