自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Objective-C中MRC和ARC的自我理解

MRC: 手动引用计数。alloc -- 分配一个对象的内存空间retain --使一个对象的引用计数加1release --使一个对象的引用计数减1retainCount --获取当前对象的引用计数值aotorelese --调用对象的aotorelease方法的话,将对象的内存管理放到aotorelease poll中,当aotorelease poll结束的时候自动调用release操作,使引用计数减1dealloc 在MRC中调用dealloc,需要显示的调用 super d

2022-02-28 18:55:38 2418

原创 【无标题】

APP开发之自动打包打包工具fastlaneFastlane的安装Fastlane的初始化工程新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入打包工具fastlane什么是Fastlane?Fastlane可以非常快速

2022-01-14 15:36:01 158

原创 iOSAPP配置多环境

给APP配置多环境有多种方发,下面介绍一种我熟悉的,利用Build Configuration来配置多环境。第一步:新建Build Configuration,系统默认是两个一个Debug,一个Release,Release不能调试程序,但打出来的包比debug要小;测试环境也需要调试,所以复制一个debug出来,作为测试环境的配置(把原来debug里的配置copy到uat里,再做个性化处理)。项目里如果使用了cocopods的话,立即执行pod install第二步:检查一下.plist文件的路

2022-01-13 16:20:58 237

原创 小白的AFNetWorking之路

起初新建一个工程HelloWorld,你想在这个工程中通过pod来集成使用第三方库AFNetworking。使用终端进入工程根目录,然后编辑Podfile:vim Podfile【这里你也许会遇到一个问题终端左下角会提示E353:Nothing in register,不要慌,这并不是什么问题,而是自己操作错误,这时候只要按【i】或者【a】进入vi的插入模式就可以编辑了】这里普及一下vi的工作模式:1、命令行模式:用光标在字符之间来回移动,进行删除、复制、移动字符等操作,按【i】或者

2021-04-23 16:55:39 242

原创 内存管理相关【内存布局&内存管理方案】

iOS系统下的内存布局最上面是内核区,最下面是保留区,中间是给程序加载的空间。从高地址到低地址依次为内核区、栈、堆、静态全局区(未初始化区域.bss和已初始化区域.data)、代码区、保留区;程序被加载到内存分成三段未初始化数据(.bss)、已初始化数据(.data)和代码段(.text)。代码段顾名思义存放代码;已初始化区域:已经初始化声明的静态变量和全局变量;未初始化区域:未初始化的静态变量和全局变量;堆stack:创建的对象或被copy的block;栈:定义的方法或者函

2021-03-04 17:25:32 232 3

原创 Block相关内容梳理

什么是blockBlock是将函数及其上下文封装起来的对象。源码分析编译器是如何实现block的?新建Objective-C文件命名为MyClass,在.m文件中实现如下代码:#import "MyClass.h"@implementation MyClass- (void)block{ int b = 10; int (^MyBlock)(int parames); MyBlock = ^int(int a){ return a*b;

2021-02-26 19:34:32 146

原创 swift中的@objc

Argument of '#selector' refers to instance method 'gotoPage()' that is not exposed to Objective-CAdd '@objc' to expose this instance method to Objective-C使用#selector发生错误提示:实例方法gotoPage没有暴露给Objective-C,请添加@objc暴露实例方法给Objective-C解决办法有两种(显式暴露Swift API):

2021-02-22 10:31:28 1376

原创 迭代器

迭代器(Interator)这个概念你可能不陌生,但是解释起来又觉得含糊不清Swift的标准库中大量的使用了迭代器设计模式希望下面这点内容能够给你带来一点点作用迭代器模式让你能够迭代一个合集里的元素;迭代器为你提供一个方法,让你访问容器对象中的各个元素,而又不暴露该对象的内部细节。import UIKit// 字符串迭代器protocol StringInterator { func next() -> String?}class ArrayStringInt..

2021-02-03 16:52:13 184

原创 Swift中的集合类之数组

好丢人,最近写了一个摸不着东南西北的bug说白了还是欠缺火候,下面总结一下Swift中的集合类。。。1、数组空数组:[类型]()let array1 = [String]() Array<类型>()let array2 = Array<String>()var array3 = Array<String>()数组遍历:for-in:forEach:同时得到索引和值enumerated()使用Interator遍历数组.

2021-02-03 15:20:20 253

原创 ReactNative数组操作

垃圾代码!只能用这句话来表述一下当前的工程1、concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。let A = [2,3,4,5,6]let B = [9,8,7]let C = A.concat(B)console.log("数组A"+JSON.stringify(A));console.log("数组B"+JSON.stringify(B));

2021-01-29 16:01:05 3332

原创 Swift中的模式分类

Swift有下面这些模式:通配符模式(Wildcard Pattern)、标识符模式(Identifier Pattern)、值绑定模式(Value-Binding Pattern)、元组模式(Tuple Pattern)、枚举用例模式(Enumeration Case Pattern)、可选项模式(Optional Pattern)、类型转换模式(Type-Casing Pattern)、表达式模式(Expression Pattern)简单的介绍一些这些模式吧!!!!!!!!!!!! !

2021-01-20 14:50:22 241

原创 本地仓库管理权限问题

git 操作提示 Permission denied, please try againGit仓库添加了ssh key,用sourceTree操作仓库,提示Permission denied, please try again解决方案:ssh-add ~/.ssh/id_rsa每次重启电脑需要运行下面的命令,否则sourceTree无法拉取代码ssh add 命令不是用来永久性记住你所使用的私钥的,只是把你指定的私钥添加到ssh-agent所管理的一个session当中。而ssh-age

2020-11-13 16:55:41 337

原创 Swift初级入门【步步为营】

菜鸟向前看。。。。。。写过一段时间reactnative,不得不说swift和rn语法结构蛮像的,说来惭愧,作为一名写了5年以上OC的老猿猴,在swift出来的时候迟迟不肯钻研,反而机缘巧合学起来了reactnative,但现在也要来八一八swift的那些事了啦啦啦啦啦啦啦,快来打我呀,我就是这么强大,啦啦啦啦啦啦啦啦啦啦啦1、swift中let和var的区别let和var的区别在于对象的内存地址可不可以改变let代表不可变对象,即对象首地址不能发生改变,也就是说内存地址不能改变;v

2020-09-08 15:44:55 322

原创 网络相关之TCP(有趣的对话)

有个大牛同学,每次谈到code相关的问题,他总是讲话很幽默。今天恰巧就看到了一则幽默的对话。A对话:“喂,你听的到吗?”“喂,我听的到呀,你能听到我吗?”“我能听到你,今天天气很好,balabala……”B对话:“喂,你听的到吗?”“喂,我听的到呀,你能听到我吗?”“喂,你听的到吗?“——谁在说话”“喂,你听的到吗?”“。。。。。。”C对话:“喂,你听的到吗?”“我听的到呀”“你能听到我吗?”“——不想跟傻逼说话”这三个场景作...

2020-06-10 09:38:04 199

原创 IOS应用导航模式

IOS应用导航模式有平铺模式、标签模式和树状模式。1、平铺页面就像一叠卡片,页面通过滑动切换,通常视觉精美,没有滚屏。主要适用于只有一个主屏的简单应用。优点:适用于内容少而精,操作少,只需要随意浏览的页面很适合同类型不同内容的页面,需要自定义内容和数量的页面。易于使用,只需要左右滑动手势即可页面分页控件占用空间缺点:只能挨个翻阅,不能随意的跳转到非相邻页面页面数量不宜过多,一般不超过10个不适合滚屏(手势操作相撞),对长文本不利举例:Iphone内置的「天气」

2020-05-27 11:27:10 779

空空如也

空空如也

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

TA关注的人

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