【问题标题】:With Core Data and validateForUpdate - how to set focus to the textbox.使用 Core Data 和 validateForUpdate - 如何将焦点设置到文本框。
【发布时间】:2014-02-01 19:24:55
【问题描述】:

使用 Core Data,是否可以访问包含 Core Data 字段的 TextBox?

  • (BOOL)validateForUpdate:(NSError **)错误 {

// 1) 遍历 Entity 上的所有属性。

// 2) 查找错误

// 3) 创建错误:

*error = [NSError errorWithDomain:EntityMetadataErrorDomain
                            code:NSManagedObjectValidationError
                        userInfo:@{ NSLocalizedFailureReasonErrorKey : @"ValidationError).", NSValidationObjectErrorKey : self }];

// 选项

// 1) 让上下文对错误做出反应

// 或 2) 使用 NotificationCenter 并连接一个方法来响应通知。

我正在寻找正确的策略?

谢谢

【问题讨论】:

    标签: ios core-data


    【解决方案1】:

    对于这种情况,我不太喜欢在 iOS 上使用 Core Data 的数据验证。 Core Data 的验证部分最初是在 iOS 出现之前编写的,使用 Cocoa 绑定将 Core Data 直接连接到用户界面要容易得多(甚至可以预期)。没有 Cocoa Bindings 真的没有意义。

    我的建议是让视图控制器处理数据验证(以及后续的用户错误),并且最多使用 Core Data 验证作为第二道防线。

    除了简单的非空检查之外,我很少在 iOS 上使用 Core Data 验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      相关资源
      最近更新 更多