モバイル向け4D。オブジェクトの属性を使用する

Deeplからの自動翻訳

今のところ、モバイルプロジェクトでは、テキスト、日付、時間、整数など、ほとんどすべてのタイプの属性を使うことができます…。4D v19 R4は、もう一つの属性を提供します。

オブジェクトの属性にご挨拶しましょう。

プロジェクトエディタ側

オブジェクトの属性が4D構造にあれば、構造セクションから公開することができます。

他の属性と同じように、 ラベルとアイコンのセクションから、アイコン、短いラベルと長いラベル、フォーマットを定義できます。

オブジェクトの属性を表示するために、2つのフォーマットがすでに用意されています。

  • Human readable: デフォルトのフォーマットで、人間が読める構造化データをモバイルアプリに表示します。
  • JSON Pretty Print:インデントされたJSONをモバイルアプリに表示します。

あとは、フォームセクションからリストや詳細フォームにフィールドをドロップするだけで、生成されたモバイルアプリにフィールドが表示されます。

モバイルアプリ側

このように、iOSとAndroidでは、オブジェクトの属性が適切に表示されます。

blank

さらに進む

モバイルでの表示については、自由にカスタマイズすることができます。そのためには、次の2つの方法を利用できます。

  • 計算された属性: サーバーサイドで必要な形式を作成する
  • クライアントサイドで必要な値のみを表示する Swift フォーマッター

計算された属性

次の例では、計算された属性を使用して、次のオブジェクトで利用可能な関連する値のみを取得して、アドレスを表示したいと思います。

$Obj:=New object 
$Obj.name:="4D SAS" 
$Obj.address1:="66 rue de Sartrouville" 
$Obj.address2:="Parc les Erables, bâtiment 4" 
$Obj.zipCode:="78230" 
$Obj.city:="Le Pecq" 
$Obj.country:="France" 
$Obj.phoneNumber:="+33 1 30 53 92 00" 
$Obj.website:="fr.4d.com"

$Ent:=ds.Employees.get(4)
$Ent.Object_Attribute:=$Obj
$Ent.save()

そのために、EmployeesEntityクラスを拡張しましょう。

Class extends Entity
exposed Function get fullAddress->$result :Text
 $result:=ThisAddress.name+" - "+This.Address.address1+" - "+This.Address.zipCode+" "+This.Address.city

このように簡単です。

swift フォーマッタ

swiftフォーマッターを使うと、テキストを太字にしたり、スタイルや色を追加したりと、オブジェクトの属性を思い通りに表示するための幅が広がります。最初の Swift フォーマッタを作成するためのチュートリアルは、こちらでご覧になれます!

4Dフォーラムでフィードバックするのをためらわないでください。

David Azancot
- 4D for iOS プロダクトオーナー - David Azancotは、2017年にプロダクトオーナーとして4Dプロダクトチームに参加しました。プロダクトオーナーとして、ユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換することを担当しています。また、実装された機能が顧客のニーズを満たしているかどうかを確認することも彼の役割です。DavidはLeonard De Vinci Instituteでマーケティング、インターネット、モビリティのMBAを取得し、2011年にモバイルスタートアップ企業でキャリアを開始。この企業は後にモバイルマーケティンググループのMadvertiseに買収されました。モバイルインターフェースに情熱を注ぐ彼は、2015年、同グループのインタラクティブなモバイル広告フォーマットの開発に抜擢されました。並行して、Davidは2012年から彼独自のiOSおよびAndroidアプリケーションを開発しています。