自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

More reading and learning to become excellent

the more diligent, the more luckier you are

  • 博客(575)
  • 资源 (30)
  • 收藏
  • 关注

原创 RAC(ReactiveCocoa)之 RAC宏定义

RAC宏定义

2022-10-21 21:20:21 256 1

原创 Podfile 解析最佳实践

基本语法首先需要做的是,看懂一个 Podfile。那么需要了解一些最基本的 ruby 语法,这部分非常简单:source 'https://github.com/CocoaPods/Specs.git'platform :ios, '8.0'pod 'FLEX', :configurations => ['Debug'], :branch => 'develop'use_frameworks!以上三行代码是 Podfile 中最为常见的,其实这三行是在调用不同的方法。方法调用

2021-10-13 10:31:41 768

原创 iOS copy属性与setter赋值

NSString什么时候用copy,什么时候用strong结论:一般情况下,我们都不希望字串的值跟着mutableStr变化,所以我们一般用copy来设置string的属性。如果希望字串的值跟着赋值的字串的值变化,可以使用strong,retain。注意:上面的情况是针对于当把NSMutableString赋值给NSString的时候,才会有不同,如果是赋值是NSString对象,那么使用copy还是strong,结果都是一样的,因为NSString对象根本就不能改变自身的值,他是不可变的。把一个

2021-07-01 12:15:00 512 1

原创 OC参数传递的那些坑

OC参数传递的那些坑有一些原本我们认为很基础的,而且很理所当然的,在实践之后才发现,原来跟想象的不同回顾一下c语言的参数传递C语言中的参数传递1、传值方式原理:形参和实参占不同内存单元,传递的实际上是实参变量或表达式的一个拷贝副本,将这个副本值传给形参,形参内存单元内容保存的正是这个副本值,相当于给形参进行初始化,形参的值发生变化也不会传回给实参,因此是单向传递。例如: void increase(int x) { x++; }当在主函数中调用上面这个函数时,会在ncrease函

2021-06-23 17:46:18 482 1

原创 OC中的block

Block是将(函数)及其(执行上下文)封装起来的(对象)// MCBlock.m- (void)method{ int multiplier = 6; int (^Block)(int) = ^int(int num) { return num * multiplier; }; Block(2);}源码解析,使用 clang -rewrite-objc file.m 命令查看编译之后的文件内容结构体构造函数中第一个参数是函数指针,第二个参数block的描述,第三个参数是blo.

2020-09-02 10:55:56 384

原创 iOS内存管理方案

不同场景下的内存管理方案:1 小对象采用TaggedPointer2 Arm64架构下的iOS应用程序采用的是NONPOINTER_ISA(本身占64bit位,实际上32位就够用了,剩余的苹果为了提高内存的利用率,剩余位存储了内存管理相关的内容)第一位如果是0代表isa只是存isa指针的,如果是1代表是优化过的,第2位表示当前对象是否有关联对象has_assoc,第三位has_cxx_dtor表示当前变量是否用到c++代码或者c++一些内容,第4位到第32位(也就是33位)是当前对象的类对象的指针地址

2020-09-01 23:08:51 385

原创 内存泄漏和野指针

内存泄漏:是指在堆区,alloc 或new 创建了一个对象,但是并没有放到自动释放池中,或者没有free 对象,导致这块内存一直被占用,换一种方法说,就是没有指针指向这块内存,再通俗点,开辟了一段空间,在没有被释放之前,结果找不到这块内存了,这样就会造成内存泄漏的问题。这块内存会直至程序运行结束才会被释放。野指针:是指针指向已经delete 的对象,或者是未申请访问的受限制的区域的时候,会造成野指针指向,直接使程序奔溃。如何形象的解释内存泄漏和野指针内存泄漏:首先要说到如何为一块变量申请一块内存空间。

2020-08-27 16:16:27 302

原创 view Layout

2020-08-27 16:07:21 117

原创 autorelease pool

2020-08-27 15:51:55 103

原创 iOS应用程序生命周期

应用程序的状态Not running 未运行,程序没有启动Inactive 未激活, 程序在前台运行,不过没有接收到事件,在没有事件处理 情况下,程序通常停留在这个状态Active 激活 程序在前台运行而且接收到了事件,Background 后台 程序在后台而且能执行代码,大多数程序进入这个状态会停留一会,之后会进入挂起suspended,Suspended 挂起 程序在后台不能执行代码,系统会自动把程序变成这个状态而且不会发出通知当挂起时,程序还是停留在内存中,当系统内存低时,系统就把挂...

2020-08-27 15:50:11 105

原创 UncaughtExceptionHandler

61.常见的Exception Type1 EXC_BAD_ACCESS在开发过程中,总是会遇到各种Exception,在此总结一些常见的Exception。NSInvalidArgumentException错误类型 NSInvalidArgumentExceptionlog输出 unrecognized selector sent to instance xxxx错误释义 给实体对象发送了不认识的消息,即对象调用方法出错错误基本原因 Objective-C的方法调用其实是基于消息传递机制,

2020-08-27 15:24:52 1742

原创 https的工作原理

基本概念:加密技术、数字证书和数字签名对称加密与非对称加密为了保证消息的保密性,就需要用到加密和解密。加解密算法目前主流的分为对称加密和非对称加密。对称加密(共享密匙加密):客户端和服务器公用一个密匙用来对消息加解密,这种方式称为对称加密。客户端和服务器约定好一个加密的密匙。客户端在发消息前用该密匙对消息加密,发送给服务器后,服务器再用该密匙进行解密拿到消息。对称加密的优点:对称加密解决了http中消息保密性的问题对称加密的缺点:对称加密虽然保证了消息保密性,但是因为客户端和服务器共享一个密匙,

2020-08-27 14:04:49 252

原创 CTMediator解析

模块解耦手段实现模块之间真正的解耦才算是真正的模块化自己的理解1 面向接口调用(遵守协议,实现协议方法,依赖协议), 即新开一个对象ModuleManager,提供一个registerClass:forProtocol的方法,注册protocol与class进行配对,调用是,通过protocol找到class返回给业务方,这里protocol的两个作用,1是key值,2是起到定义调用接口的作用,可以定义任意类型的参数2 面向自定义协议调用,采用现成的协议如url协议,统一实现本地和远程跳转,实现业

2020-08-26 11:27:57 723

原创 Web协议,断点续传及session工作原理

OSI概念模型从没有被实现过,但是真正做网络协议的时候会参考这样的概念模型才能很好的理解网络协议中的分层是怎么一回事应用层:DNS,HTTP解决业务问题,表示层:把网络层的消息转为应用层可以读取的消息会话层:完全概念的东西,负责建立会话session,握手,监听,返回,关闭传输层:TCP/UDP协议,解决的是进程与进程间的通信,只要报文到了主机上,主机应该把报文分发给哪一个进程,应该由传输层来决定,比如TCP还做了报文可达性,流量的控制网络层:IP协议,确保在广域网中可以在一个主机上把报文发到另.

2020-08-26 07:30:02 273

原创 2020-08-25

剑指 Offer 38. 字符串的排列输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = “abc”输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”]限制:1 <= s 的长度 <= 8public class Exam38_permutation { List<String> list = new ArrayList<>(); //

2020-08-25 07:24:01 130

原创 2020-08-24

518. 零钱兑换 II给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输出: 0解释: 只用面额2的硬币不能凑成总金额3。示例 3:输入: amount = 10, coins

2020-08-24 17:31:49 109

原创 常用web图片格式:gif、jpg、png、webp

1.GIF(87年):使用无损压缩,支持256中颜色(一般叫8 bit彩色),支持单一透明色;2.JPG(92年):使用的一种失真压缩标准方法,24 bit真彩色,内容比GIF丰富,不支持动画、不支持透明色。JPEG的压缩方式通常是破坏性资料压缩(lossy compression),意即在压缩过程中图像的品质会遭受到可见的破坏。一张图片多次上传下载后,图片逐渐会失真。 优点   JPEG/JFIF是最普遍在万维网(World Wide Web)上被用来储存和传输照片的格式。JPEG在色调及颜色平滑变化的

2020-08-23 21:12:50 8401

原创 ETag

ETagHTTP响应头是资源的特定版本的标识符。这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web服务器不需要发送完整的响应。而如果内容发生了变化,使用ETag有助于防止资源的同时更新相互覆盖(“空中碰撞”)。如果给定URL中的资源更改,则一定要生成新的Etag值。 因此Etags类似于指纹,也可能被某些服务器用于跟踪。 比较etags能快速确定此资源是否变化,但也可能被跟踪服务器永久存留。缓存一、概述缓存通俗点讲,就是将已经得到的‘东东’存放在一个相对于自己而言,尽可能近的地方,以便下次

2020-08-23 20:56:50 839

原创 iOS14 隐私适配及部分解决方案

简介: 在刚刚结束的线上 WWDC 2020 发布会上苹果向我们展示了新的 iOS14 系统。iOS14 的适配,很重要的一环就集中在用户隐私和安全方面。 最近在调研 iOS14的适配方案,本文主要分享一下 iOS14 上对于隐私授权的变更和部分适配方案,欢迎补充指正。在 iOS13 及以前,当用户首次访问应用程序时,会被要求开放大量权限,比如相册、定位、联系人,实际上该应用可能仅仅需要一个选择图片功能,却被要求开放整个照片库的权限,这确实是不合理的。对于相册,在 iOS14 中引入了 “Limited.

2020-08-23 20:27:16 2121

原创 AFNetworking(AFURLSessionManager)

AFNetworking2.0和3.0有什么区别?2.0使用的NSURLConnection,3.0使用的是NSURLSession那么NSURLSesstion和NSURLConnection有什么区别:1、下载任务时:NSURLConnection会先放在内存、最后写入沙盒。可能引起内存暴涨。NSURLSession会直接写在沙盒和tem文件夹中、最后需要手动转移。2、请求控制:NSURLConnection创建好了对象、便开始网络请求。只能cancel并不能恢复。NSURLSess

2020-08-23 19:23:23 380

原创 iOS的NSObject *, id和instancetype

用id修饰和NSObject *修饰有何不同?OC中的动态类型和静态类型动态类型动态类型指的是对象指针类型的动态性,具体指使用id修饰后将对象的类型确定推迟到运行时,由赋给它的对象类型决定对象指针的类型,也就是说id修饰的对象为动态类型对象,其他在编译器指明类型的为静态类型对象,通常如果不需要涉及到多态的话,还是尽量使用静态类型(原因:错误可以在编译器提前查出,可读性好).// 动态类型id obj = [[TestObject alloc] init]静态类型一个指针变

2020-08-23 18:34:02 218

原创 2020-08-21

,作为一个非科班出身的人,算法和数据结构对我而言可望而不可及,两个多月的时间过去了,发现现在如果有时间1天可以看6,7个题,依稀记得有一个周六的时间,从早到晚,刷了12道题. 开始的时候,很难,一道题一天,死磕了,最后的是4天每天都刷看老师的视频,理解消化,记忆.在白板上画图解.感谢早上很早起床后就开始学算法的自己,虽然在我看来自己仍然做的很差,现在才刷了147道,但是当我用swift,python和java都能写出题的时候,我感觉我至少学到了,当我看到自己每天记录的刷过的题,感觉也充实,但是还是...

2020-08-21 13:21:23 129

原创 2020-08-20

异或的性质两个数字异或的结果a^b是将 a 和 b 的二进制每一位进行运算,得出的数字。 运算的逻辑是如果同一位的数字相同则为 0,不同则为 1异或的规律任何数和本身异或则为0任何数和 0 异或是本身136 只出现一次的数字 除一个数字出现一次,其他都出现了两次,让我们找到出现一次 的数执行一次全员异或即可def singleNumber(self, nums:List[int]) -> int: single_number = 0 #初始值为0,因为0异或任何数都是任何数本身

2020-08-19 22:47:36 131

原创 螺旋矩阵

59. 螺旋矩阵 II给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]func generateMatrix(_ n: Int) -> [[Int]] { var result = [[Int]](repeating: [Int](repeating: 0, count: n), count: n) v

2020-08-19 14:47:41 230

原创 2020-08-19

11. 盛最多水的容器示例:输入:[1,8,6,2,5,4,8,3,7]输出:49方法一:暴力解法 O(n^2)public int maxArea(int[] height) { int maxArea = 0; for (int i = 0; i < height.length - 1; i++) { for (int j = i + 1; j < height.length; j++) { maxArea = Math.max(maxArea, Math.min

2020-08-19 09:12:54 78

原创 2020-08-18

9. 回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。方法一;/* 1111 div = 1 1111 / 1 = 1111 >

2020-08-18 06:21:34 84

原创 堆排序代码

堆排序的基本三步走:1、将无序序列构造为堆结构,如果是升序排序则为 大顶堆,降序则为 小顶堆。(这里使用大顶堆)2、将 堆顶元素 与 堆尾元素进行交换(即,把当前最大元素 “沉” 入到 堆尾)3、重新构造堆结构,构造堆结构的目的就是将未排序序列的最大值 “抬” 到堆顶。(但是要注意,此时我们已经把一个最大值成功排序到堆尾了,因此我们应当排除掉已经排序好的元素。 我们可以用 len 来表示当前序列还未排序的序列长度,每次交换完 堆顶 和 堆尾 元素后 len–,然后重新构造堆结构时,如果当前元素下标大.

2020-08-17 15:18:13 167

原创 2020-08-17

53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。...

2020-08-17 07:32:42 106

原创 二分查找,寻找左侧边界,寻找右侧边界

这个场景是最简单的,肯能也是大家最熟悉的,即搜索一个数,如果存在,返回其索引,否则返回 -1int binarySearch(int[] nums, int target) { int left = 0, right = nums.length - 1; while (left <= right) { int mid = left + (right - left)/2; if (nums[mid] == target) { return mid; }else if (num.

2020-08-16 17:09:07 797

原创 2020-08-15

4. 寻找两个正序数组的中位数给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5。中位数和两个有序数组的长度之和有关:当两个

2020-08-16 11:12:29 124

原创 2020-08-13

3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列

2020-08-13 08:56:16 90

原创 训练营算法题

数组,链表,跳表:参考链接Java 源码分析(ArrayList)Linked List 的标准实现代码Linked List 示例代码Java 源码分析(LinkedList)LRU Cache - Linked list: LRU 缓存机制* Redis - Skip List:跳跃表、为啥 Redis 使用跳表(Skip List)而不是使用 Red-Black?Array 实战题目两数之和(近半年内,字节跳动在面试中考查此题达到 152 次)盛最多水的容器(腾讯、百度、字节跳动

2020-08-12 08:32:03 350

原创 iOS preferredstatusbarstyle 不执行

UINavgationController中覆写preferredStatusBarStyle方法不执行的问题#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad{ [super viewDidLoad];} -(UIStatusBarStyle)preferredStatusBarStyle{

2020-08-10 12:33:54 989

原创 2020-08-10

387. 字符串中的第一个唯一字符剑指 Offer 50. 第一个只出现一次的字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = “leetcode” 返回 0s = “loveleetcode” 返回 2 func firstUniqChar(_ s: String) -> Character { var table: [Character: Int] = [:] for c i

2020-08-10 09:41:49 108

原创 高级字符串算法

72. 编辑距离给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)示例 2:输入:word1 = “

2020-08-06 07:14:25 236

原创 字符串基础知识和引申题目

Python 中字符串 x = 'abbc’和Java中的String x = “abbc” 是imutable的,好处是线程安全的也就是说当将其加一个字符或者减一个字符其实都是新生成了一个String,原来的String还是原来的内容C++的话,字符串它是可变的在多线程环境string immutable遍历字符串for ch in "abbc": print(ch)String x = "abbc";for (int i = 0; i < x.size(); ++i) { .

2020-08-05 07:02:14 168

原创 高级动态规划

高级DP为什么复杂,第一:状态定义第二:状态转移方程它的复杂度来源于什么地方1 状态拥有更多维度(二维,三维,或者更多,甚至需要压缩(比如斐波那契只需要两个变量))每个维度是什么,逻辑清晰2 状态转移方程...

2020-08-05 04:58:05 178

原创 2020.7.31

146. LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。

2020-07-31 06:31:19 93

原创 特殊排序

十大经典排序算法9 种经典排序算法可视化动画特殊排序 - O(n)• 计数排序(Counting Sort)计数排序要求输入的数据必须是有确定范围的整数。将输入的数据值转化为键存储在额外开辟的数组空间中;然后依次把计数大于 1 的填充回原数组• 桶排序(Bucket Sort)桶排序 (Bucket sort)的工作的原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。• 基数排序(Radix Sort

2020-07-29 22:04:10 363

原创 初级排序和高级排序

十大经典排序算法(动图演示)比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序初级排序 - O(n^2)选择排序(Selection Sort)每次找最小值,然后放到待排序数组的起始位置。function selectionSort(arr) { var len = arr.l.

2020-07-28 21:22:20 245

iOS 16 RC 真机调试包

iOS 16 RC 真机调试包 支持16.0(20A362)

2022-09-14

iOS-13.0-13.6-.zip

下载完成后,放入下面的文件夹中 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2020-08-25

ARM汇编.pdf

包含ARM微处理其概述,ARM微处理器的编程模型,ARM微处理的指令系统等

2018-05-03

ARM64汇编.pdf

ARM64汇编,是iOS真机测试的时候的汇编指令,包含生成汇编文件,寄存器,指令,iOS汇编,函数的堆栈

2018-05-03

iOS签名机制

iOS签名机制ppt,主要有加密,解密,单向散列函数,数字签名,证书,iOS签名机制

2018-05-02

iOS11.4在不升级xcode的情况下,在对应版本的真机内进行测试

iOS Platform文件 文件路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 下载对应版本的platform压缩包,然后解压后拖进路径内, 可以在不升级xcode的情况下,在对应版本的真机内进行测试。

2018-04-09

iOS11.3在不升级xcode的情况下,在对应版本的真机内进行测试

iOS Platform文件 文件路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 下载对应版本的platform压缩包,然后解压后拖进路径内, 可以在不升级xcode的情况下,在对应版本的真机内进行测试。

2018-04-09

Asset Catalog Creator Free

快速切图工具,可以直接添加图片和导出路径直接导出@3x,@2x,@1x

2017-11-30

iOS的App中上下黑边

iOS的app上下黑边问题在项目中添加三张图片可以解决问题

2017-11-30

iOS11.1(15B87)真机测试包

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport,前往MAC复制的地址

2017-11-23

Xcode 11.0 (15A372)配置包

Xcode 11.0 (15A372)配置包,手机升级到iOS11.0后真机测试需要添加配置包,将下载的配置包放到下面路径: 前往文件夹路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2017-10-10

TreeTableView

TreeTableView

2017-06-08

第三方折叠树demo

树形

2017-06-08

图解网络硬件完整版

2017-02-23

图解HTTP彩色版

图解HTTP彩色版

2017-02-23

仿微信朋友圈图片缩放

微信 朋友圈 图片 显示 缩放 效果比微信好点,主要是在渐入渐出这个效果上,微信是渐入,是闪出,没有过度效果

2016-12-28

collectionViewAndTable

有人要10分资源分从csdn上下载,这次免费,没什么含量要这么多资源分,太浪费大家的感情了,所以我0分供大家下载

2016-11-18

BLOCK 应用场景

Block的应用场景

2016-11-17

MAC weixin.dmg

在MAC 安装微信

2016-11-17

MAC 搜狗输入法安装包

MAC 搜狗安装包

2016-11-16

xcode 模拟器调试直接进入沙盒

代码下下来,是出现My Mac直接点击Run然后,Build Success 后重启XCode 或者重启电脑,再打开程序,在Xcode菜单栏中选择File->Go to SandBox!->选择当前选择的模拟器,找到氮气项目,打开即时沙盒位置

2016-11-16

MAC MindNode

MAC 思维导图破解版

2016-11-10

mounty MAC传输硬盘文件

MAC 上面传输硬盘文件 用mounty 点击YES即可

2016-11-02

Sublime写前端

sublime

2016-11-02

snip截图工具

MAC 截图工具snip

2016-11-02

iphone抓包工具

iphone抓包工具

2016-11-02

iOS 10.1 Xcode真机测试包

iOS 10/1真机测试包

2016-11-02

MPMoviePlayerController播放器封装

MPMoviePlayerController的简单封装

2016-03-20

AVplayer播放器封装

AVPlayer的封装

2016-03-20

iOS加密算法

iOS加密算法

2016-03-20

空空如也

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

TA关注的人

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