我知道' extern'意味着它的声明和定义在相同的源文件中不可用。但是,我没有看到任何重要的用途。
假设我有三个班级员工,部门和图书馆。
假设我们在Library类
中有这样的东西extern NSString *abc;
我们在Department类中使用类似的东西。
Department.h
NSString *abc;
Department.m
abc = @"abcdefg";
这样的是Employee类。
Employee.m
NSString *abc = @"xyz";
当我们查看类Employee和Department时,它们看起来就像正常的变量声明和定义。
所以,我的问题是它的特殊能力是什么?
答案 0 :(得分:1)
在这种情况下,extern
告诉编译器不要抱怨变量的声明没有它的定义。尽管如此,Xcode并没有抱怨这一点,因为所有Objective-C全局变量都是秘密声明的extern
。
你可以在技术上关闭extern
指令,但你可能也是明确的。它对于看到它的程序员来说仍然意味着什么。