データを1つのView Controllerから別のView Controllerに渡す方法を知っています。これでView ControllerからNSObjectクラスにテキストフィールド値を渡す方法と、私はこれをする手助けをしてください誰もこれのための例を与えることができますView ControllerからNSObjectクラスへのデータの受け渡し
-1
A
答えて
0
私はあなたのビューコントローラで使用するためのモデルオブジェクトにデータを格納する方法を聞いていると思います。これがあなたの意味でないなら、私を許してください。
モデルオブジェクトはNSObject
から継承する必要があります。必要に応じて、別のモデルオブジェクトを拡張してプロパティ値を追加することもできます。モデルオブジェクトは、ビューオブジェクトをデータから分離するのに最適な方法です。
お客様のフィールドにCustomerViewController
があるとします。顧客フィールドにデータを入力し、そのデータに対して何らかの処理を実行する必要があります。モデルオブジェクトは、データとビジネスルールに関連する処理ロジックからビューを分離できるようにすることで、これらの関係をサポートします。
以下の関係を参考にして、効果的なビューコントローラを構築して、データとビューを分離する必要があります。
のCustomModelインタフェース
@interface CustomerModel : NSObject
@property (strong, nonatomic) NSString *firstName, *lastName;
@property (strong, nonatomic) NSString *phoneNumber;
- (BOOL) isValidPhoneNumber:(NSString *)phoneNumber;
@end
CustomerModel実装
#import "CustomerModel.h"
@implementation CustomerModel
- (BOOL) isValidPhoneNumber:(NSString *)phoneNumber
{
//Check that phone number can be parsed and is valid
}
@end
CustomerViewController実装
#import "CustomerViewController.h"
#import "CustomerModel.h"
@interface CustomerViewController() <UITextFieldDelegate>
@property (strong, nonatomic) CustomerModel *customerModel;
...
@property (weak, nonatomic) IBOutlet UITextField *firstNameField
...
@end
@implementation CustomerViewController
- (void) viewDidLoad {
//Optionally instantiate the customer model with stored data,
// to pre-populate the view controller.
self.customerModel = [CustomerModel new];
self.firstNameField.delegate = self;
}
- (void) textFieldDidEndEditing:(UITextField *)textField {
//Validate the phone number
NSString *phoneNumber = textField.text;
if ([self.customerModel isValidPhoneNumber:phoneNumber]) {
self.customerModel.phoneNumber = phoneNumber;
} else {
//Alert the user that the data is invalid
}
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
@end
の
考えられる改善
- それは情報を記入しながら、アラートを表示し、ユーザーに少しうるさいかもしれません。したがって、保存ボタンが押されたときに検証を延期する方が良いかもしれません。
- モデルオブジェクトは、フォームを事前入力するために使用するデータストアから移入できます。
関連する問題
- 1. View ControllerからNSObjectへデータを渡す
- 2. ViewからControllerへのモデルデータの受け渡しとその値の使用
- 3. 1つのView Controllerから別のView Controllerへデータを渡す方法
- 4. クラスからのデータの受け渡し
- 5. Androidからクラスへのデータの受け渡し
- 6. AngularJSからSpring Controllerへのリストの受け渡し
- 7. View Controllerからデータを渡すMapKit
- 8. View Controllerでの数値の受け渡し
- 9. Swift 3 - View Controller間の変数と関数の受け渡し
- 10. ViewからControllerへの値の受け渡しが正しく行われない
- 11. laravelのView(Blade)からControllerへの配列を使用してデータを渡す
- 12. MVCコントローラからPHPでのビューへのデータの受け渡し
- 13. フラグメントからクラスへのリストの受け渡し
- 14. インテントからフラグメントへのデータの受け渡し
- 15. クエリからビューへのデータの受け渡し
- 16. CakePHP:コントローラからのビューへの$ this->データの受け渡し
- 17. テキストフィールドからFirebaseへのデータの受け渡し
- 18. NullPointerExceptionアクティビティからインテントへのデータの受け渡し
- 19. SQLからMVCへのデータの受け渡しSystem.String []エラー
- 20. クラスへの引数の受け渡し
- 21. MainActivityからFragmentへのデータの受け渡し
- 22. 1つのアクティビティからViewクラスを継承するクラスへの値の受け渡し
- 23. 関数からテーブルビューへのデータの受け渡し
- 24. ビューコントローラからデリゲート付きビューコントローラへのデータの受け渡し
- 25. BottomSheetDialogFragmentからFragmentへのデータの受け渡しまたは受信
- 26. 別のView Controllerクラスからの配列へのアクセス
- 27. iOS 5.0 - HelperクラスからView ControllerにNSMutableArrayを渡します。
- 28. Flex 3からFlexクラスへのオブジェクトの受け渡し
- 29. 外部ファイルからクラスへのパラメータの受け渡し
- 30. Android:クラスからフラグメントへのメッセージの受け渡し
(私はあなたが 'NSObject'サブクラスを意味すると思います)クラスの外観はどのようなもので、クラスのオブジェクトはコントローラにどのように関係していますか? –
@Phillip MillsそれはNSObjectサブクラスです。View Controllerには、テキストフィールドがあり、それをnsobjectに渡してから、そこに何らかのプロセスを実行したいのですが、 – user6183984
私はあなたを混乱させています。サブクラスの.hファイルに 'NSString'プロパティを作成し、ビューコントローラからプロパティを設定します。コントローラは明らかにオブジェクトへの参照を必要としますが、それを行う方法は私の質問に答えることによって決まります: "*コントローラに関連するクラスのオブジェクトはどうですか?" –