Xcode: Code Sense

Ezra iOS

聊天的时候有人问了一个平常大家不太注意的问题, 如图, 左侧小图标:

code sense

以前无聊的时候研究过, 趁这个机会总结一下吧, 其实这些小图标苹果称为 Code Sense, 貌似在很早的 Xcode 版本中就已经出现了, 它们位于 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/Assets.car 中, 解包这个 .car 文件就可以看到相关的图片, 根据名称也可以判断出它们的代表的意义, 下面列举一部分常见的:

  • 红色的图标表示 Macro 也就是宏
  • # 表示宏定义
  • 棕色图标表示 Core Data 和命名空间/名字空间 (namespace)
  • C 表示 modeled class
  • M 表示 modeled method
  • P 表示 modeled property
  • N 表示 C++ 中的命名空间 (namespace)
  • 橙色图标表示别名 (aliased types)
  • 表示 Objective-C 分类 (category)
  • E 表示枚举 enum
  • T 表示 typedef
  • 绿色图标表示值 (variables)
  • B 表示绑定 binding
  • ƒ 表示函数 function
  • F 表示 field
  • K 表示常量 constant
  • L 表示局部变量 (local variable)
  • O 表示 IBOutlet
  • V 表示标志变量 variable, 例如 ivar, 全局变量 (global var), 局部变量 local var
  • x 表示参数 (parameter), 也就是 f(x) 中的 x
  • 蓝色图标表示 (methods)
  • A 表示 IBAction
  • M 表示 method
  • P 表示 property
  • 紫色图标表示集合类型 (aggregate types)
  • C 表示 Objective-CC++ 的类 (class)
  • 表示类扩展 (class extension)
  • Pr 表示 Objective-C 协议 (protocol)
  • S 表示结构体 (struct)
  • U 表示联合 (union)