iOS开发UI篇—IOS开发中Xcode的一些使用技巧

一、快捷键的使用

经常用到的快捷键如下:

新建

shift + cmd + n     新建项目

cmd + n             新建文件

视图

option + cmd + 回车 打开助理编辑器

cmd + 回车           显示主窗口

cmd + 0             导航窗口

option + cmd + 0    工具窗口

在.m & .h之间切换           control + cmd + 上/下

按照浏览文件的前后顺序切换     control + cmd + 左右

查看头文件       control + cmd + j

切换到对应的函数control + 6 支持智能输入,注意输入法

运行

cmd + r             运行

cmd + .             停止

cmd + b             编译

cmd + shift + b 静态内存分析编译,可以检查程序结构上是否存在内存泄露

排版

control + i         将选中按钮重新缩进

cmd + ]             向右增加缩进

cmd + [             向左减少缩进

cmd + /             注释/取消注释,提示:取消注释时,注释双斜线必须在行首

cmd + 向上           到文件开始位置

cmd + 向下           到文件末尾位置

二、OC专有注释

注释形式和效果

(1)#pragma mark 注释

(2)#pragma mark- 注释

三、warning的使用(注意)

使用形式:

#warning 代码还没有写完

可以帮助我们对代码进行快速的定位

四、代码块的使用

对于经常使用的代码块,可以以代码块的方式保存起来,设置提示词,以便快速的编码。

对代码块进行适当的编辑

使用<#name#>和<#type#>让保存的代码块不被“写死”;

设置后的提示效果:

五、打印内容查看(重写description方法的技巧)

代码示例:   

1 - (NSString *)description
2 {
3     // 包含对象类型名称,以及对象的指针地址
4     return [NSString stringWithFormat:@"<%@: %p> {answer: %@, title: %@, icon: %@, options: %@}", [self class], self, self.answer, self.title, self.icon, self.options];
5 }

提示:

如果要在开发时,跟踪对象的明细信息,可以重写description方法,类似于java的toString()

为根类添加一个扩展

 1 #import "NSArray+Log.h"
 2
 3 @implementation NSArray (Log)
 4
 5 - (NSString *)descriptionWithLocale:(id)locale
 6 {
 7     // 遍历数组中的所有内容,将内容拼接成一个新的字符串返回
 8     NSMutableString *strM = [NSMutableString string];
 9
10     [strM appendString:@"(\n"];
11
12     // 遍历数组,self就是当前的数组
13     for (id obj in self) {
14         // 在拼接字符串时,会调用obj的description方法
15         [strM appendFormat:@"\t%@,\n", obj];
16     }
17     [strM appendString:@")"];
18     return strM;
19 }
20
21 @end

View Code

转载于:https://www.cnblogs.com/dondre/p/4092255.html

iOS开发UI篇—IOS开发中Xcode的一些使用技巧相关推荐

  1. iOS开发UI篇—iOS开发中三种简单的动画设置

    [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要"参与到"动画中 [UIView beginAnimations: ...

  2. iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)

    ● 沙盒根目录:NSString *home = NSHomeDirectory(); ● Documents:(2种⽅方式) ● 利用沙盒根目录拼接"Documents"字符串 ...

  3. iOS开发UI篇—ios应用数据存储方式(偏好设置)

    一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏 ...

  4. OS开发UI篇—在UItableview中实现加载更多功能

    一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据.                      二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...

  5. iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)

    iOS开发UI篇-推荐两个好用的Xcode插件(提供下载链接) 这里推荐两款好用的Xcode插件,并提供下载链接. 一.插件和使用如下: 1.两款插件 对项目中图片提供自动提示功能的插件:KSImag ...

  6. iOS开发UI篇-在UItableview中实现加载更多功能

    iOS开发UI篇-在UItableview中实现加载更多功能 一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时 ...

  7. iOS开发UI篇—常见的项目文件介绍

    iOS开发UI篇-常见的项目文件介绍 一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要 ...

  8. iOS开发UI篇—transframe属性(形变)

    iOS开发UI篇-transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两 ...

  9. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

最新文章

  1. Cstring的使用
  2. 构建高可用ZooKeeper集群(转载)
  3. 怎样开启mysql慢检查_如何开启mysql的慢查询
  4. python中索引是从什么开始_python索引从0开始,那负数索引算什么?三秋道果说python...
  5. jvm虚拟机组成部分讲解、jvm虚拟机参数使用讲解并发编程框架篇
  6. Leet Code OJ 217. Contains Duplicate [Difficulty: Easy]
  7. 误用.Net Redis客户端工具CSRedisCore,自己挖坑自己填
  8. 第二百四十八天 how can I 坚持
  9. Skywalking-07:OAL原理——解释器实现
  10. mysql 空位补0_MySQL-13(表的创建、数值类型整型、float/decimal、ZEROFILL、BIT(M))
  11. 马云怒赞的93年网红区块链工程师,教你如何用3年时间实现逆袭
  12. bootstrap中col-xs-* 和 col-md-* 和col-sm-*这几个类是干嘛的啊?
  13. 帝国cms免登陆生成html,帝国cms7.5免登陆发布模块
  14. mysql建表语句转达梦_MySQL建表语句转PostgreSQL建表语句全纪录
  15. kettle和spoon ETL数据同步工具
  16. CGI入门一:使用C++实现CGI程序
  17. matlab设置图片背景透明_MATLAB设置图片背景透明,和设定大小,适合论文中使用...
  18. iphone双重认证关闭不了怎么办_iPhone如何关闭Apple ID的双重认证
  19. Windows更新错误
  20. k8s学习笔记4--搭建dashboard

热门文章

  1. 异域linux内核漏洞,Linux内核再现漏洞!这次11年后才发现
  2. ScalaReact式编程书
  3. java 同步块关键字_Java同步关键字,同步方法和块
  4. primefaces_Primefaces CommandLink
  5. lshw linux_Linux lshw命令–获取Linux硬件信息
  6. typedef 的使用
  7. yum报[Errno 256] No more mirrors to try
  8. 接口测试(二)--APP抓包
  9. 智能语音市场有多大? 阿里巴巴将如何破局后来者居上?
  10. Solr基础教程之solrconfig.xml(三)