我目前正在开发一个启用许多功能的项目。
其中之一是用户的注册。我确实有一个视图控制器以及一个用于处理用户输入的视图。我进一步实现了一个 UserService ,启动一个上传器来上传用户数据,并在上传成功/失败等情况下通知视图控制器。
现在,我不会将数据保存到 coredata(只是其中的一部分),并且想知道在整个应用程序中将数据从视图控制器发送到上传器的最佳方法。
我知道简单的方法是这样的:
- (void) startUserRegistrationEmail:(NSString *) aEmail
firstname:(NSString *) aFirstname
name:(NSString *) aName
birthdate:(NSDate *) aBirthdate
citizenship:(NSString *) aCitizenship
street:(NSString *) aStreet
streetnumber:(NSString *) aStreetNumber
postcode:(NSString *) aPostcode
address:(NSString *) aAddres;
优点是我的服务和上传器不依赖于任何可能增加可重用性的模型。
但在我看来有几个缺点。我必须验证视图控制器中的输入字段。如果我有一个模型对象,我可以轻松地将所有输入填充到这个对象中,调用是有效的,如果它失败,形成一个将显示给用户的正确错误。
此外,我在服务中的方法和上传者将缩小到
- (void) startCustomerRequestQueryEmail:(AMRegistration *) aRegistration
由于 AMRegistration 类的数据不会保存在 coredate 中,我不会将其实现为 managedObject,而是自定义类。
上传完成后,我可能会查看引用并将所需的数据保存到我的托管对象中。(这是另一个优势,因为我不需要在 9 个字符串上保存引用,而只需要在一个 AMRegistration 对象上保存引用)。
我想知道您是如何处理这些问题的?您是更频繁地使用那些“辅助对象”还是避免使用它们?