-1
我知道'extern'意味着它的聲明和定義在相同的源文件中不可用。但是,我沒有看到它的任何重要用途。什麼是外部?
讓我們假設我有三個班員工,部門和圖書館。
可以說,我們有這樣的事情在圖書館類
extern NSString *abc;
我們使用它像這樣在Department類。
Department.h
NSString *abc;
Department.m
abc = @"abcdefg";
和這樣的事情是僱員類。
Employee.m
NSString *abc = @"xyz";
當我們在類Employee和Department它們看起來就像普通變量的聲明和定義。
所以,我的問題是什麼是特殊的權力?
http://nshipster.com/c-storage-classes/ – 2014-09-30 20:56:18
extern是一個C功能。 Objective-C只是因爲ObjC試圖成爲C兼容的。所以是的,在純面向對象的ObjC代碼中,你不需要它。 – Will 2014-09-30 21:10:20
@更正確地說,Objective-C是C的一個完整超集。它不是試圖與C兼容,它*是* C,加上更多。但是你是對的,一個設計正確的,真正的OO Objective-C代碼庫不會使用像'extern'這樣的全局變量的一些C概念。 – rmaddy 2014-09-30 22:13:45