-1

同一のアプリケーションを 2 つ作成したいと考えています。2 つのアプリの違いは、ロゴと名前 (およびお問い合わせページ) です。

2 つの名前が名前 1名前 2であり、どこでも使用したいと考えています。以下が私が持っているテキストだとしましょう。

Welcome to name_here

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

ここで、各アプリの name_here を Name 1 と Name 2 にそれぞれ置き換えます。

これを行う方法はありますか?


これが私がしたことです。

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);

それだけです... ありがとうございます...

4

8 に答える 8

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];

ありがとう、

于 2013-06-26T12:40:56.797 に答える
0

私の提案は、名前を定数として宣言し、違いがある場合は、名前をハードコーディングする代わりに変数を置き換えることです。

#define name @"Name"

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

他のアプリでは、名前を次のように他の文字列として定義します。

#define name @"SomeOtherName"

再利用が必要なロゴやその他のリソースに名前を付ける場合も、同じことができます。実際、これらの名前と定数を保存するためだけに、クラスを保持することをお勧めします。したがって、正しく実行した場合は、このクラス ファイルを削除し、同じ定数を含む同じ名前の別のクラス ファイルを追加するだけで済みますが、これらの定数には異なる値が格納されています。

于 2013-06-26T12:46:09.603 に答える
0

ユーザーに表示される文字列は、"Localizable.strings" のようなファイルにある必要があります。

次に使用します。

self.title = NSLocalizedStringFromTable(@"アプリ名", @"アプリ", @"");

ローカライゼーションでは、プレースホルダーも使用できます。

于 2013-06-26T12:52:15.450 に答える
0

APP1 と APP2 のように、アプリごとにプリプロセッサを定義できます。次に、name_here の文字列をどこに設定しても、次のコードを貼り付けることができます。

#ifdef APP1
name_here = @"Company 1";
#else
name_here = @"Company 2";
于 2013-06-26T12:46:25.863 に答える