0

コア データ モデルをセットアップし、テキスト入力ボックスを使用してデータを記録しています。私のコードは次のようになります。

NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
NSNumber *timetickNumber = [NSNumber numberWithInt:timeTick];
[newDevice setValue:timetickNumber forKey:@"name"];
[newDevice setValue:self.versionTextField.text forKey:@"version"];
[newDevice setValue:self.companyTextField.text forKey:@"company"];

2 番目のエントリ タイトル 'version' については、入力されたものの前にテキストを追加しようとしています。たとえば、「これは」と表示され、その横に入力されたテキストが表示されます。何かご意見は?前もって感謝します!

4

2 に答える 2

0

形式とデータを混在させることはお勧めできません。(Model-View-Controller パターンを覚えていますか?) 「This is」を格納すると、すぐに冗長になり、いずれにせよ異なる言語で正しく表示されなくなります。これは、多くの観点から非常に問題のある設計です。

代わりに、コードで行うのと同じようにコア データに値を格納する必要があります。このデータを表示する必要がある場合は、たとえば aUILabelに必要なテキストを追加できます (後で簡単に変更できます)。

label.text = [NSString stringWithFormat:@"This is %@.", device.company];

またはさらに良い

label.text = [NSString stringWithFormat:@"%@%@", 
    NSLocalisedString(@"This is ", "string to present the company"), 
    device.company];
于 2013-11-01T16:01:41.153 に答える
0

文字列を連結しようとしているように思えます。多分このようなもの:

NSString *versionString  = [NSString stringWithFormat:@"This is: %@", self.companyTextField.text]

versionString の値は、"This is: [ここにテキスト フィールドからテキストを挿入]" になります。

次に、コアデータに保存するには、次のようにします。

[newDevice setValue:versionString forKey:@"company"];
于 2013-11-01T04:13:22.933 に答える