自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 iOS中podfile及xxx.podspec中~>符号的含义

Well,~>(theoptimisticoperator) is used when you want to specify a version 'up to nextmajor|minor|patch'. For example:~> 0.1.2will get you a version up to 0.2 (but not including 0.2 and higher)~> 0.1will get you a version up to 1....

2020-09-19 23:21:08 670

原创 剑指offer之数组中重复数字

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-f..

2020-09-19 02:15:24 135

原创 LeetCode 1 : 两数之和

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领...

2020-06-13 23:34:31 189

转载 iOS常用设计模式

在软件开发中,无论是那种高级语言中总会伴随着一些最为常用的设计模式,下面针对iOS中,MVC模式、代理模式、观察者模式、单例模式、策略模式、简单工厂模式这六大模式进行汇总分析。一、MVC模式MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑1.1实例MVC(Mode...

2020-01-13 14:48:45 639

原创 《Objective-C编程 第二版》笔记21:Animation

UIView简单动画//UIKit集成的UIView上的动画,动画块 -(void)beginAndCommitAnimation { self.redView.frame = CGRectMake(100, 100, 100, 100); //开始设置动画 //参数1.当前动画的标签 //参数2.上下文,如果为动画设置...

2020-01-13 14:40:19 180

原创 《Objective-C编程 第二版》笔记20:NSURLSession

使用NSURLSession的步骤:第一步 通过NSURLSession的实例创建task第二步 执行task- (void)NSURLSessionRequest{ //创建URL NSString *URLPath = @"https://xxxx"; NSURLSession *sharedSession = [NSURLSession sharedS...

2020-01-13 14:12:46 243

原创 《Objective-C编程 第二版》笔记19:UICollectionView

UICollectionView是网格表视图,比如抖音的喜欢列表自定义一个UICollectionViewCell,- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { //设置CollectionViewCell中的图像框 ...

2020-01-13 11:40:38 133

原创 《Objective-C编程 第二版》笔记18:UITableView

这个是手机里的设置页面,这种是用UITableView实现的。UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped。上面的风格属于UITableViewStyleGrouped。UITableView中数据只有行的概念,没有列的概念。UITableView中每一行数据都是一个UITableViewCell。数...

2020-01-13 11:28:24 140

原创 《Objective-C编程 第二版》笔记17:protocol

作用协议是一组方法声明,其中部分方法是必需的,另一些是可选的。如何使用@required:遵守此协议的类必须实现它修饰的方法(默认修饰符)@optional:遵守此协议的类可以不实现它修饰的方法@protocol PersonProtocol <NSObject>@required- (void)eat;@optional- (void)run;@end...

2020-01-12 12:45:39 127

原创 《Objective-C编程 第二版》笔记16:Block对象

Block对象的示例:^{ NSLog(@"This is an instruction within a block.");}和C函数类似,但是没有函数名,相应的位置只有一个^符号。^表示这段代码时一个Block对象。和函数一样,Block对象也可以有实参和返回值。^(double dividend, double divisor){ double quot...

2019-11-12 22:53:04 128

原创 《Objective-C编程 第二版》笔记15:回调

本章将介绍事件驱动程序,这个程序能保持运行、等待事件,并做相应的处理。 回调就是将一段可执行代码和特定的事件绑定起来。 OC中实现回调的4中途径。 (1) 目标-动作对:在程序开始等待前,要求当事件发生时,向指定的对象发送某个特定消息。这里接收消息的对象是目标,消息的选择器是动作。 (2) 辅助对象:在程序开始等待前,要求...

2019-11-08 14:55:04 148

原创 《Objective-C编程 第二版》笔记14:通过NSString 和NSData将数据写入文件

1、将NSString对象写入文件首先创建一个名为Stringz的项目。通过NSString的类方法创建对象,然后将新创建的对象写入文件。#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { NSMutableStr...

2019-10-24 10:57:52 163

原创 《Objective-C编程 第二版》笔记13:常量

不变的值称为常量。OC中有两种定义方式,#define和全局变量。输出常量M_PI#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"\u03c0 is %f",M_PI); } r...

2019-10-24 09:36:48 105

原创 《Objective-C编程 第二版》笔记12:Collection类

Collection类的实例用于保存指向其他对象的指针。1、NSSet/NSMutableSetNSSet对象包含的内容是无序的,而且每个特定的对象只能出现一次。NSSet对象最大的用处是检查某个对象是否存在。NSSet对象不能对指针进行修改。NSMutableSet是它的子类,它能够对其中的指针进行添加或删除等操作。NSSet对象中的对象是无序的,所以不能...

2019-10-24 09:14:03 181

原创 《Objective-C编程 第二版》笔记11:避免内存泄漏

事物之间的关系通常是双向的。事物属于某个人,某个人拥有物品。要想表明这种关系,有三种途径1、强引用循环 BNRAsset对象拥有BNREmployee对象,BNREmployee对象拥有BNRAsset对象的数组对象。这种互相拥有的关系就导致对象无法被释放。这种情况称为强引用循环。 通过苹果公司的性能分析工具Instruments可以...

2019-10-23 23:10:07 160

原创 《Objective-C编程 第二版》笔记10:类扩展

前面内容都是在类的头文件中声明属性、变量及方法。但是,不是所有的属性或方法都需要在类的头文件中声明。有的属性或方法只是该类或其类实例才使用的。涉及实现细节的属性或方法最好在类扩展中声明。类扩展是一组私有的声明。只有类和其类实例才能使用在类扩展中声明的属性、实例变量或方法。 类扩展是添加在类实现文件中,实现方法的@implementation之上。在BNREmployee.m...

2019-10-23 11:33:32 142

原创 《Objective-C编程 第二版》笔记9:对象实例变量及属性

对象实例变量是指向另一个对象的指针,可以描述相应两个对象之间的关系。对象实例变量的三种常见用途。(1) 对象属性。指针,指向某个单一的、代表某个值的对象。(2) 一对一关系。指针,指向单个复杂的对象。(3) 一对多关系。指针,指向某个collection类的实例。给BNREmployee类增加三个属性#import "BNRPerson.h"//@interface ...

2019-10-22 12:49:17 136

原创 《Objective-C编程 第二版》笔记8:继承

前面的笔记中定义的BNRPerson类,继承了NSObject类。因此,BNRPerson实例不仅拥有BNRPerson中定义的实例变量和方法,还拥有NSObject中定义的实例变量和方法。 打开BMITime项目,创建一个BNREmployee类。#import <Foundation/Foundation.h>//导入BNRPerson.h...

2019-10-22 09:48:12 136

原创 《Objective-C编程 第二版》笔记7:属性

声明属性可以简化存取方法。1、声明属性笔记6中的实例变量可以改成属性的声明,声明为属性就可以省略存取方法的书写。#import <Foundation/Foundation.h>@interface BNRPerson : NSObject//属性的声明@property (nonatomic) float heightInMeters;@property (n...

2019-10-17 08:43:40 143

原创 《Objective-C编程 第二版》笔记6:第一个自定义类

首先创建一个项目BMITime。1、创建类的过程File->New->New File...。选择OS X区域的Cocoa,选择Objective-C class模板,然后点击next按钮将类命名为BNRPerson,并设置为NSObject的子类。最后勾选BMITime目标,点击Create按钮。#import <Foundation/Foundatio...

2019-10-16 21:17:06 186 1

原创 《Objective-C编程 第二版》笔记5:NSArray

NSArray是常用的OC类。NSArray实例可以用来保存一组指向其他对象的指针。首先创建一个新项目DateList.1、创建数组#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { //创建三个NSDate...

2019-10-16 19:53:46 121

原创 《Objective-C编程 第二版》笔记4:NSString

NSString也是OC的类,NSString实例可以保存字符串。1、创建NSString实例i) NSString *lament = @"Why me?";@代表根据给定的字符串创建一个NSString对象。ii) NSString实例可以保存任意Unicode字符。如果插入非ASCII字符,则可以使用\u,后面加上该字符的十六进制Unicode编码。如: NSString...

2019-10-16 18:51:56 106

原创 《Objective-C编程 第二版》笔记3:对象与内存

1、指针和指针的值创建一个新的项目TimesTwo。#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { //在堆上创建实例,并在栈上有一个指针指向它 NSDate *currentTime = [N...

2019-10-16 18:02:23 120

原创 《Objective-C编程 第二版》笔记2:消息

1、传递实参的消息#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { NSDate *now = [NSDate date]; NSLog(@"This NSDate object l...

2019-10-16 16:23:33 105

原创 《Objective-C编程 第二版》笔记1:对象

开发环境:Xcode7.3.11、类负责描述某个特定类型的对象,其中包括方法和实例变量。类可以描述一下两种对象。(1)抽象概念,例如数据、字符串或指令集。(2)实际存在的事物,例如人、地点或储蓄账户。2、创建并使用对象(1)首先创建一个OC程序TimeAfterTime。可以参考https://blog.csdn.net/qq_36214481/article/details/...

2019-10-16 12:43:08 154

原创 《Objective-C编程 第二版》笔记:如何用Xcode创建一个程序

本文使用的是Xcode7.3.1.1、打开Xcode,如下图所示,然后点击Create a new Xcode project:2、可以选择OS X下面的Application并选择右侧的Command Line Tool创建一个命令行程序。3、 给程序命名,包括程序名,组织名等,还要根据需要选择语言。4、创建完成后,就可以书写自己的代码了。点击main.m就可以在中...

2019-10-15 15:53:13 206

转载 Assertion failure in -[UIApplication _runWithMainScene:transitionContext:com

*** Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UIApplication.m:3401错误原因在于 A...

2019-10-14 08:35:15 882

原创 虚拟机搭建xcode开发环境

闲着无事,自己装了一个mac系统的虚拟机,并且安装了xcode,用来开发Objective-C.1、首先是软件准备vmware版本:12.5.0.unlocker版本:3.0mac os版本:10.11.1下载地址:链接:https://pan.baidu.com/s/1tWn0haJOMhR1XT6cZS4RSw提取码:ef4y2、逐个安装 (1...

2019-09-30 16:02:14 2850 1

转载 虚拟机安装MAC系统

一步步的过程很详细:https://www.ithome.com/html/mac/312273.htm

2019-09-30 11:06:06 965

转载 LeetCode394. 字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像3a或2[4...

2019-09-03 09:42:49 225

原创 LeetCode42. 接雨水

给定n个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6来源:力扣(LeetCode...

2019-09-02 16:19:41 140

原创 LeetCode86. 分隔链表

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5来源:力扣(LeetCode)链接:https://leet...

2019-08-28 16:19:50 105

原创 LeetCode817. 链表组件

给定一个链表(链表结点包含一个整型值)的头结点head。同时给定列表G,该列表是上述链表中整型值的一个子集。返回列表G中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表G中)构成的集合。示例1:输入:head: 0->1->2->3G = [0, 1, 3]输出: 2解释:链表中,0 和 1 是相连接的,且 G...

2019-08-28 15:49:50 142

原创 LeetCode25:K 个一组翻转链表

给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->...

2019-08-27 17:47:31 250

原创 LeetCode537:复数乘法

给定两个表示复数的字符串。返回表示它们乘积的字符串。注意,根据定义 i2 = -1 。示例 1:输入: "1+1i", "1+1i"输出: "0+2i"解释: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将它转换为 0+2i 的形式。示例 2:输入: "1+-1i", "1+-1i"输出: "0+-2i"解释: (1 - i) ...

2019-08-19 17:28:59 138

原创 LeetCode22:括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parenthe...

2019-08-19 15:57:16 105

原创 LeetCode338:比特位计数

给定一个非负整数num。对于0 ≤ i ≤ num 范围中的每个数字i,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为...

2019-08-16 13:50:01 74

原创 LeetCode78:子集

给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...

2019-08-16 13:39:13 103

原创 LeerCode1108: IP 地址无效化

给你一个有效的 IPv4 地址address,返回这个 IP 地址的无效化版本。所谓无效化IP 地址,其实就是用"[.]"代替了每个 "."。示例 1:输入:address = "1.1.1.1"输出:"1[.]1[.]1[.]1"示例 2:输入:address = "255.100.50.0"输出:"255[.]100[.]50[.]0"提示:给出...

2019-08-16 12:55:16 107

转载 C++迭代器失效的几种情况总结

https://www.cnblogs.com/fnlingnzb-learner/p/9300073.html

2019-07-20 09:40:53 678

空空如也

空空如也

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

TA关注的人

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