美文网首页
iOS 开发 提升开发效率

iOS 开发 提升开发效率

作者: 小暖风 | 来源:发表于2020-08-10 19:32 被阅读0次

1.Xcode文件模板制作

        创建的UIViewController的m文件什么函数也没有,但是viewDidLoad,viewWillAppear,viewDidAppear等系统函数是常用的,还有一些习惯的设置UI的函数,每次都需要敲或者拷贝,重复的无用功;创建的UIView的m文件什么函数也没有,但是init等系统函数是常用的,还有一些习惯的设置UI的函数,每次都需要敲或者拷贝,重复的无用功。

        为什么m文件什么函数也没有,因为Xcode的文件模板就是什么都没有,so,改变它,改成你希望的样子。

        文件模板存放位置:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/iOS/Source。

        操作步骤,以修改`UIViewController`的模板为例,就需要改其中的`UIViewControllerObjective-C`、 `UIViewControllerSwift`、`UIViewControllerXIBObjective-C`、`UIViewControllerXIBSwift`。他们的区别从名字上就能看出来,就是OC与Swift,是否用Xib的区别。不能直接在模板文件夹中修改,需要将要修改的文件拷贝出来。我们以OC并且不用Xib为例,打开UIViewControllerObjective-C中的`___FILEBASENAME___.m`文件:

```objective-c

//___FILEHEADER___

#import "___FILEBASENAME___.h"

@interface ___FILEBASENAMEASIDENTIFIER___ ()

@end

@implementation ___FILEBASENAMEASIDENTIFIER___

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

}

/*

#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].

    // Pass the selected object to the new view controller.

}

*/

@end

```

一些宏的定义:

宏名 | 意义 

 ------------ | ------------- 

 `___FILENAME___`  | 文件名包括后缀

 `___PROJECTNAME___` | 工程名

 `___FULLUSERNAME___` | 用户的名字

 `___DATE___`| 当前日期,年/月/日

 `___COPYRIGHT___` | 版权

 `___FILEBASENAME___`|不带后缀的文件名

 `___FILEBASENAMEASIDENTIFIER___` | 不带后缀的文件。

修改后

```objectivec

//

//  ___FILENAME___

//  ___PROJECTNAME___

//

//  Created by ___FULLUSERNAME___ on ___DATE___.

//  ___COPYRIGHT___

//  Description:

#import "___FILEBASENAME___.h"

@interface ___FILEBASENAMEASIDENTIFIER___ ()

@end

@implementation ___FILEBASENAMEASIDENTIFIER___

#pragma mark  ----  生命周期函数

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

}

- (void)dealloc {

}

#pragma mark  ----  代理函数

#pragma mark  ----  自定义函数

@end

```

然后把这个文件去替换原来的文件。替换成功后新建一个控制器,就会是我们自定义的结构了,如果没生效的话,可以重启下Xcode。

2.代码块

        写代码时好多代码是重复的写的,属性的声明,对象的懒加载,系统类的代理,每次都是拷贝,改名,改改熟悉,改改实现,比较浪费时间。

        有时候一些固定代码,譬如if语句,dispatch_once_t代码段,你只需要输入几个字符,敲一下回车,一段代码就有了,这就是系统的代码块。我们可以添加自定义代码块,实现同样的效果。

        步骤:鼠标选中你要设置成代码块的代码,右键,点Create Code Snippet,输入说明。Language表示语言,Platform表示平台,Completion表示标识,Availability表示可用位置。设置完成后,点击Done就完成了。使用时,输入标识就可键入你设置的代码块。

        同时,点击Xcode右上角+,你可以去编辑,修改,删除代码块。

        创建代码块时,设置Availability(适用范围)需注意:

        All Scopes 全部

        Class Implementation 类的实现,就是.m文件里,@implementation @end区域,非函数体内,函数和懒加载实现要使用这种方式

        Class Interface Methods 类接口方法,就是.h文件和.m文件的接口区,@interface @end区域,懒加载声明使用这种方式

        Class Interface Variables 类接口变量

        Code Expression 代码表达式 在函数内部使用,插入代码块的话使用

        Function or method 函数或方法

        Preprocessor Directive 预处理器指令

        String or Comment 字符串或评论

        Top Level 顶级  

3.宏定义文件

        创建一个宏定义的文件,方便管理常用的方法或者变量名,比如获取屏幕宽高,导航高度,底部安全区高度等。

4.常用的Xcode快捷键

Cmd + Shift + F 在工程中查找 可以全工程查找或者替换(这个在项目开发中经常用到,前提是注释的好,命名规范,这样就能全局快速找到想要的方法)

Cmd + Shift + O 快速查找类(类名命名规范并且了解自己的习惯就能很快的找到)

Control + 6 列出当前文件中所有的方法,通过pragama进行区分可以快速的找到自己想要的方法

Cmd + Enter 在.h和.m之间切换

Cmd + 0 隐藏左边的导航(Nabigator)区

Cmd + Opt + 0 隐藏右边的工具

Cmd + Ctrl + Left/Right 到上/下一次编辑的位置,在两个编辑位置跳转的时候超级方便的,总之比用鼠标点那两个三角号要好吧

选中一段代码Cmd + Shift + [ / ] 移动这段选中代码所在的行数,这样就不需要剪切和拷贝啦

Cmd + 点击 查看该方法的实现

Opt + 点击 查看该方法的文档

Cmd + R 运行工程

Cmd + B 编译

相关文章

网友评论

      本文标题:iOS 开发 提升开发效率

      本文链接:https://www.haomeiwen.com/subject/uwzjdktx.html