2013-06-26 60 views
-1

我想創建兩個完全相同的應用程序。兩個應用程序的區別在於徽標和名稱(以及聯繫我們頁面)。如何在一個文件中重複單詞並使用它

考慮兩個名字名稱1 & 名稱2,我想在任何地方使用它們。讓我們來說下面是我有的文字。

Welcome to name_here 

name_here is founded in 1987. name_here is blah blah.. name_here is blah blah... 

在這裏,我想分別爲每個應用程序名稱1和名稱2替換name_here。

任何想法如何做到這一點?


這就是我所做的。

創建plist文件爲 「AllInOne.plist」

和viewDidLoad中我有

NSString *documentsDirectory = [[NSBundle mainBundle] resourcePath]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"AllInOne.plist"]; 

NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: path]; 
NSString *value1; 
value1 = [savedStock objectForKey:@"lab_name"]; 
NSLog(@"text is ==== %@", value1); 

就是這樣......由於一噸...

回答

1

您可以在應用程序中,如APPNAME東西的的.plist創建一個字段,並取決於你把變量名1或名稱2的值的應用程序。

然後,您唯一需要做的就是從plist中檢索該變量。

+0

是的,我認爲這將是很好的選擇。 –

0

請嘗試以下代碼。

#define NAME1 @"Name1" 
#define NAME2 @"Name2" 

    NSString *str = [NSString stringWithFormat:@"Welcome to %@ %@ is founded in 1987. %@ is blah blah.. %@ is blah blah...",NAME1,NAME1,NAME1,NAME1]; 

感謝,

+0

你需要獲取整個字符串「name_here」與您從特定的文件要替換字符串。 – sagarcool89

0

解決方案可能是使用本地化的字符串。

定義常量爲:

#define MY_NAME NSLocalizedStringFromTable(@"name", @"Localizable", nil) 

然後添加在你寫一個Localizable.strings文件:

"name" = "name1" 

"name" = "name2" 

(取決於您的應用程序)

0

你s應該將變量數據(在這種情況下爲NAME變量)存儲在外部文件中,以便您可以對每個應用程序進行配置。它可能是與應用程序捆綁在一起的JSON或plist文件,或者您可以通過網絡服務獲取它。

0

我的建議是,您聲明名稱爲常量,無論差異如何,您都會替換變量而不是硬編碼名稱。

#define name @"Name" 

NSString *str = [NSString stringWithFormat:@"Welcome to %@. %@ is founded in 1987. %@ is this and that..."],name; 

在您的其他應用程序中,您將名稱定義爲其他字符串,如下所示。

#define name @"SomeOtherName" 

您可以使用需要重用的命名徽標或其他資源來做同樣的事情。事實上,最好保留一個類,只是爲了存儲這些名稱和常量。因此,如果你做得對,你所要做的就是刪除這個類文件,並添加另一個包含相同常量但具有存儲在這些常量中的不同值的同名文件。

0

您可以爲每個應用程序定義預處理器,例如APP1和APP2。 然後,無論你設置name_here琴絃,你可以堅持這樣的代碼:

#ifdef APP1 
name_here = @"Company 1"; 
#else 
name_here = @"Company 2"; 
0

字符串,用戶看到的應該是像「Localizable.strings」文件。

然後使用:

self.title = NSLocalizedStringFromTable(@ 「應用名稱」,@ 「應用程序」,@ 「」);

本地化還允許佔位符。

0

我還沒有好,但有效的答案:

NSString * string = @"Welcome to name_here, name_here is founded in 1987. name_here is blah blah.. name_here is blah blah... "; 
#if APP1 
string = [string stringByReplacingOccurrencesOfString:@"name_here" withString:APP1Text]; 
#else 
string = [string stringByReplacingOccurrencesOfString:@"name_here" withString:APP2Text]; 
相關問題