xcode那些不熟的地方

一、代码布局一键规范

1、快速打开(Command + Shift + O)CTCardCell.m,记得进入Dev Mode(Command .)

2、看下 CTCardCell.m 顶部凌乱的属性列表

  1. @property (weak, nonatomic) IBOutlet UILabel *locationLabel; 
  2. @property (strong, nonatomic) NSString *website; 
  3. @property (weak, nonatomic) IBOutlet UIButton *fbButton; 
  4. @property (weak, nonatomic) IBOutlet UIImageView *fbImage; 
  5. @property (strong, nonatomic) NSString *twitter; 
  6. @property (weak, nonatomic) IBOutlet UIButton *twButton; 
  7. @property (weak, nonatomic) IBOutlet UILabel *webLabel; 
  8. @property (weak, nonatomic) IBOutlet UIImageView *profilePhoto; 
  9. @property (strong, nonatomic) NSString *facebook; 
  10. @property (weak, nonatomic) IBOutlet UIImageView *twImage; 
  11. @property (weak, nonatomic) IBOutlet UILabel *aboutLabel; 
  12. @property (weak, nonatomic) IBOutlet UIButton *webButton; 
  13. @property (weak, nonatomic) IBOutlet UILabel *nameLabel; 
  14. @property (weak, nonatomic) IBOutlet UILabel *titleLabel; 

3、创建一个自定义服务以执行脚本命令来实现属性的快速整齐地排列

步骤来设置:
(1)使用Spotlight来搜索Automator,并打开它
(2)然后点击File->New,并选择服务(service)一项
(3)在Actions筛选栏,输入shell,然后双击运行shell脚本Run Shell Script
(4)在新添加的服务的菜单栏上,检查Output replaces selected text
(5)将脚本内容切换至sort | uniq
(6)同时按下command s,将服务保存为 Sort & Uniq(排序(sort)是按照字母顺序来的,`uniq`是会删除所有重复的行数)

4、切回到Xcode,然后选中 CTCardCell.m 中的那片混乱的属性区域,右击,选择 Services -> Sort & Uniq,然后观察执行之后代码是多么的整洁。你可以看下面的一个示意图:

二、代码片段

1、在这一部分,你将学会如何创建自定义的代码片段,当你重用这些代码片段时,看起来非常棒。你将创建的是获取单例的代码片段

  1. + (instancetype)sharedObject { 
  2.   static id _sharedInstance = nil; 
  3.   static dispatch_once_t oncePredicate; 
  4.   dispatch_once(&oncePredicate, ^{ 
  5.     _sharedInstance = [[self alloc] init]; 
  6.   }); 
  7.   return _sharedInstance; 

2、在工程CardTilt创建一个名为继承自NSObject名为SingletonObject的新类

按下面步骤:
(1)在 @implementation 的下一行粘贴上面的代码到 SingletonObject.m
(2)用快捷键Command Option Control 2来打开代码片段库,在代码片段库中你会看到默认的包含在Xcode中的代码片段库。
(3)选中整个+sharedObject方法,将其拖拽到代码片段库中。
新创建的代码片段将会在代码片段库的最底部,你可以将其拖拽到任何你想拖拽的文件当中去,让我们来尝试一下。
 
双击刚刚新建的代码片段,然后点击edit.弹出的视图非常使用,实际上它们都很重要,所以做个简短的解释。
 
(1)Title and Summary:代码片段库中该代码片段的名字和简述
(2)Platform and Language:代码片段匹配的平台和编程语言
(3)Completion Shortcut:在Xcode中输入的快捷键
(4)Completion Scopes:代码片段作用的范围,这对于保持代码片段库整洁来说十极好的。
 
向下面一样填充里面的属性:
 
 
三、令牌
在片段中仅仅只要输入 <#TokenName#> 就可以添加一个令牌,创建一个令牌使用 shared<#ObjectName#>替代sharedObject ,看起来像这样:
 
点击 Done 来保存该片段,然后来用用它。
 
在 SingletonObject.m 文件中输入 singleton accessor,然后当它出现的时候使用自动补全
 
对于经常使用的代码来说,创建一个代码片段是非常实用的。
 
原文地址:https://www.cnblogs.com/swallow37/p/3880979.html