iOS笔记

多用类型变量,少用#define预处理指令

若不算公开某个常量,则应该定义在该常量的实现文件里:

static const NSTimeInterval kAnimationDuration = 0.3;

static 和 const 定义的值,如果遭到修改,编译器会报错

如果要对外公开,例如创建一个通知,可以这样定义:

.h:      extern NSString *const MRHStringConstant;

.m:     NSString *const MRHStringConstant = @"VALUE";

编译器看到头文件的extern 关键字,就能明白如何造引入此头文件的代码中处理改常量了.这个关键字是要告诉编译器,在全局符号表中将会有一个名叫MRHStringConstant的符号。也就是说编译器无需查看其定义,即允许代码是要此变量,因为它知道当连接成二进制文件之后,肯定能找到这个常量.此类常量必须要定义,且只能定义一次。通常在声明的实现文件里。由实现文件生成目标文件时,编译器会在“数据段”为字符串分配存储空间,链接器会把此目标文件与其他目标文件链接,以生成最终的二进制文件。凡是要用到这个全局符号的地方,链接器都能解析。

用枚举表示状态 选项 状态码

typedef NS_ENUM(NSInteger,PersonType) {

    PersonTypeMan = 1,

    PersonTypeWomen,

};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 该部分篇章,将会比较碎。主要用于记录自己开发和书籍中看到比较有价值的知识点的记录和归纳。 Objective...
    破晓霜林阅读 461评论 0 2
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,897评论 0 27
  • 转载原文链接 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控...
    Lonely__M阅读 7,645评论 2 24
  • 1.单例的写法 (instancetype)sharedInstance {static id sharedIns...
    sunny_王阅读 438评论 0 0
  • 这一年,我做了什么? 跟着剽悍一只猫的小灶营社群一年了,参加了内部的晨读感悟,写了3个月,荣获了三次最佳;参加了行...
    孙黎黎阅读 405评论 1 8