1
我有一個C函數heightParameter,它是一個簡單的工具,我在我的幾個UIViewController
s中使用。我只是在我的其他函數上面的每個UIViewController
子類(在.m中)的主要實現中聲明瞭這一點,所以我甚至不必在頭文件中聲明它。XCode:重複的符號
出於某種原因,我在我使用它的每個其他子類中都得到了重複符號,儘管它是私人實現的。它位於每個子類的主@implementation @end塊中,不應該被其他任何東西看到,所以它是如何在全局中看到的?
會不會靜態強制它是全球?我認爲靜態會在整個應用程序中實現一個實現?或者它這樣做,但允許多個實現? – RileyE
這是全球*沒有*'靜態'。添加'static'將限制對該符號的訪問到單個編譯單元。這意味着您可以爲每個'.m'文件分別實施。但是,爲什麼不把它變成一種私人方法呢?這似乎是最合乎邏輯的方法。理解'static'的好參考:http://stackoverflow.com/questions/572547/what-does-static-mean-in-a-c-program –
哦。那麼我想我對靜態是什麼產生了誤解。謝謝!但是通過將它變成私有的,你的意思是把它變成一個Objective-C函數嗎?或者你的意思是使它成爲Objective-C函數並將其添加到私有類別? – RileyE