中創建一個文件如何在未創建該字符串的文件中使用NSString?在不同的文件中使用NSString,然後在
ex。 我創建了thisone.m一個字符串,但我想在thatone.m 從這個字符串的數據將來自爲UITextField
中創建一個文件如何在未創建該字符串的文件中使用NSString?在不同的文件中使用NSString,然後在
ex。 我創建了thisone.m一個字符串,但我想在thatone.m 從這個字符串的數據將來自爲UITextField
如果您沒有訪問thisone對象,你可以存儲的字符串作爲ThisOne類變量,只要你並不需要一個不同爲你的每個對象。把你們班
extern BOOL theString;
訪問(不是方法裏面,但的@implementation
外)是
[ThisOne theString];
這並不像ennuikiller的答案一樣好,但它可能是你需要。
好的,所以我把它關閉了,但是我得到的錯誤(可能不會響應'+ string'),所以至少我知道這是有點工作 – 2009-11-01 02:26:19
把它放在.h文件中,在@interface之外。 – coneybeare 2009-11-01 02:29:51
我仍然收到錯誤... – 2009-11-01 22:19:36
要來使用相同的刺痛(即相同的數據),我不知道到底你問什麼,但有很多方法可以在文件(或對象)之間共享數據。您可以將其定義爲一個類中的實例變量,並引用其他類中的對象實例。您可以將數據傳遞給在另一個對象上調用的方法,或者通過將其作爲UIApplication的實例變量將其作爲全局變量共享。
再次,沒有更具體的問題,這應該讓你思考正確的道路。
舉個簡單的例子:
@interface MyObject : NSObject {
NSString *mystring;
}
我怎樣才能讓一個NSString的實例變量? – 2009-11-01 01:57:50
好吧,那麼我會怎麼做,從那裏做所有事情....我必須在.m中做任何事嗎? – 2009-11-01 02:17:37
我知道有些人不喜歡#define,但是他們對這個老派的C程序員很好。
在每個項目中,我有一個包含了一堆#的文件「Strings.h」定義的,如:
#define SK_String_I_Want_To_Display @"String I Want To Display"
(其中SK_是我作序,表示「字符串常量」)
本地化,我有一個名爲 「LocalStrings.h」 另一個文件中包含字符串:
#define SK_LOCAL(a) NSLocalizedString(@a, "") // keeps string defs simple
#define SK_Localized_String SK_LOCAL("Localized String")
#define SK_Another_String SK_LOCAL("Another String")
然後我#IMPORT 「Strings.h」 或在需要的地方 「LocalStrings.h」。因爲我在一個文件中包含了所有本地化的字符串,所以很容易確保我已經完成了本地化。
這種方法最大的問題是,你必須要小心,不要做這樣的事情:
#define SK_Another_String SK_LOCAL("Another String");
---爲分號在年底可能會導致棘手的bug都很難找到。
將#define擴展到位的開銷非常低。如果更改其中一個.h文件,編譯時間會稍長一些,但我發現該解決方案運行良好。
請澄清問題並提供一些背景。 – 2009-11-01 01:52:43
那更好? – 2009-11-01 01:53:41