[分享]iOS开发-学会使用代码块,提高你的开发效率

news/2024/7/4 19:29:32

相信很多开发者在新手阶段都免不了记不住方法等各种各样的窘境,于是,很多时候,在遇到使用相同控件属性时,苦于记不住其种类繁多的代理方法,就只能照着之前写过的代码再照搬一遍,又或者稍有经验的开发者在遇到代码量略多但框架大体相同,只有细微几处修改的需求时,copy之前写过的代码片段并进行适当的修改,成了在日常开发中“提高开发效率”的常用手段,但是往往找寻之前的代码也是一件颇为耗时的事情。
不过,好在苹果公司早就已经为开发者考虑到了这一点,在xcode中为开发者准备好了“快捷方式”——代码块
代码块,很多刚接触ios开发的新手可能并不知道这是什么,甚至已经有1-2年工作经验的开发者没有使用过代码块的也大有人在。那么这个代码块究竟是做什么的呢?
我先来演示一遍使用效果,相信大家便会一目了然。


现在,我准备在viewController里使用一个tableView,需要用到其代理协议中的方法,于是:
图片描述

有没有觉得很神奇,这个效率如何呢,短短2秒钟的时间(可能还不到),就写完了tableView代理协议中的几个基本上必用到的方法,剩下只需要对没填写完成的占位符进行填写就完成了,效率不可谓不快,这就是代码块在日常开发中的作用。


现在,大家对代码块的作用应该已经了解了,那么下面,就让我们来看看如何使用这个代码块呢。
代码块,顾名思义,就是一“块”嵌入的代码框架,提前将所需的代码框架写入代码块,仅留出可能发生改动的地方用占位符代替,使用时,以自定义标记的按键呼出相应代码块,填写所需占位符即可完成高效率的开发。

1.首先,我们要现在类当中将我们所需的代码写好,以刚才我所使用的tableView的代理方法为例:

#pragma mark -
#pragma mark - tableView
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return <#expression#>
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    <#classCell#> * cell = [tableView dequeueReusableCellWithIdentifier:<#(nonnull NSString *)#>];
    
    return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return <#expression#>
}

注:占位符的书写格式为<#name#>

2.写好代码之后,我们找到xcode的右下角,如图的方式,找到代码块的存放处
图片描述

3.这些便是我们存放代码块的地方,xcode中提前已经准备了一些系统自带的方法
图片描述

4.然后,我们需要做的就是将我们写好的代码 丢进 存放代码块的地方,你没有看错,就是丢进去
图片描述

5.Title就是你这段代码在储存点要给展示出来的名字,图上标注的地方就是你呼出它所需键入的缩写,随便什么都可以,想些什么些什么,当然越短越好,这样,就大功告成了下次需要使用的时候就只需打出你的缩写,这段代码就自己调出来了
图片描述

6.尝试呼出你新建的代码块,就如最开始我做的那样,如果代码块数量不多,也可以直接从储存点直接将其拖出来使用,像最开始存放时做的一样,只不过我们是反过来拖出来

7.如果需要对已经存好的代码块进行修改,那么只需要找到你的代码块,然后单机它,点击edit即可,如果想要删除代码块,只需要选中代码块,然后轻敲Backspace键,弹出选项框时选择delete即可


http://www.niftyadmin.cn/n/3172745.html

相关文章

环路检测的大规模计算

环路检测的描述和种类 环路检测是计算图中是否有环&#xff0c;即如果从一个顶点出发&#xff0c;沿着出边一直走&#xff0c;能再走到这个顶点。 环路检测的种类 单点出发的环路存在检测 单点出发的环路存在检测是检测一个点&#xff08;u)是否在某个环路内。计算过程&…

python 学习笔记7(类/对象的属性;特性,__getattr__)

python 学习笔记7&#xff08;类/对象的属性&#xff1b;特性&#xff0c;__getattr__&#xff09; 27. 属性的__dict__系统 1&#xff09;对象的属性可能来自&#xff1a; 其类的定义&#xff0c;叫做类属性继承父类的定义该对象实例定义&#xff08;初始化对象时赋值&#xf…

git 把文件恢复到某个commit

例如pom.xml恢复到之前的commit。 先用git log 查看恢复到哪个版本。 git reset e8bc520c86f482c6a59ca9ba5ba3bc19e0c99fe6 pom.xml

课后习题

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace 课后提1 {class Program{static void Main(string[] args){// //用户输入姓名&#xff0c;然后打印此人的年龄&#xff0c;从1岁-18岁&#xff0c;每一岁占一行&#…

Stress Centrality (重力中心性)的计算方法

Stress Centrality的计算方法 Stress Centrality也称为重力中心性是最短路径经过某顶点的次数。如从A到D的最短路径经过B&#xff0c;则此路径对B的Stress Centrality的贡献为1。 Stress Centrality的计算公式为&#xff1a; 前面的CS(v)C_S(v)CS​(v)代表顶点v的Stress Centr…

深蓝词库转换1.5发布

经过了漫长的修改&#xff0c;终于把深蓝词库转换1.5完成了。这次修改注意包括以下改进&#xff1a; 1.增加百度输入法bdict词库导出的功能。 百度输入法也推出了自己的分类词库&#xff0c;词库格式为bdict&#xff0c;这个词库格式比较简单&#xff0c;用户如果喜欢某个词库&…

Provisioning Services 7.8 入门系列教程之十 通过类自动更新虚拟磁盘

续Provisioning Services 7.8 入门系列教程之九 手动更新虚拟磁盘本文中介绍的自动更新虚拟磁盘这种更新方法&#xff0c;和前面介绍的手动更新虚拟磁盘的方法一样&#xff0c;也需要通过复制虚拟磁盘副本产生更新后的虚拟磁盘。本文将重点介绍更新磁盘产生后&#xff0c;如何应…

git 冲突处理过程

过程如下&#xff1a; 先在master分支checkout 一个新分支。 git checkout -b new-branch在此分支上进行开发。 开发完之后commit,push. git add A.java git commit; git push经过多轮第2步的commit, push。等待开发好发现其他同事已经向master分支提交了和你修改的相同文件…