小编zzh*_*ads的帖子

关闭XCode CoreData模型的codegen

在XCode中使用已经声明的类创建CoreData模型,编译器代码为我生成了重复项.怎么摆脱那个?

xcode code-generation core-data

1
推荐指数
2
解决办法
1227
查看次数

在Swift中默认使类符合Codable

Swift as CodableDecodableEncodable)协议的这种功能非常有用。但我发现了这样的问题:让我们让Parent类符合Codable

class Parent: Codable {
    var name: String
    var email: String?
    var password: String?
}
Run Code Online (Sandbox Code Playgroud)

好的,该类符合“从盒子开始”的Codable协议,您无需编写任何初始化程序,就可以像这样从JSON进行初始化:

{ "name": "John", "email": "johndoe@yahoo.com", "password": <null>}
Run Code Online (Sandbox Code Playgroud)

但假设我们需要其他类,Child从Parent继承并符合Codable:

class Child: Parent {
   var token: String
   var date: Date?
}
Run Code Online (Sandbox Code Playgroud)

因此,Child类必须通过与Parent保持一致,从而与Codable保持一致,Child类的BUT属性将无法从JSON正确初始化。我发现的决定是自己为Child类编写所有可编码内容,例如:

class Child: Parent {
    var token: String
    var date : Date?

    enum ChildKeys: CodingKey {
        case token, date
    }

    required init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: ChildKeys.self)
        self.token …
Run Code Online (Sandbox Code Playgroud)

inheritance json swift codable

1
推荐指数
1
解决办法
2223
查看次数

在 WKWebView 中使用 callAsyncJavaScript

方法callAsyncJavaScript和之间有什么区别evaluateJavaScript?将其与相同的脚本一起使用,例如:

evaluateJavaScript("document.documentElement.outerHTML.toString()")
Run Code Online (Sandbox Code Playgroud)

callAsyncJavaScript("document.documentElement.outerHTML.toString()")
Run Code Online (Sandbox Code Playgroud)

返回不同的结果:第一个是 HTML,第二个是 .sucess(nil)...

javascript swift wkwebview

1
推荐指数
1
解决办法
1237
查看次数

删除未保存的对象不会调用异常

我正在为我的Dao Spring应用程序编写测试.我发现当我删除未保存的项目时,没有像我期望的那样调用异常,我不知道为什么.

模型:

@Entity
public class Ingredient {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String condition;
    private int quantity;

    public Ingredient() {

    }
}
Run Code Online (Sandbox Code Playgroud)

Dao实施:

@Override
public void delete(Object o) throws DaoException {
    try {
        Session session = mSessionFactory.openSession();
        session.beginTransaction();
        session.delete(o);
        session.getTransaction().commit();
        session.close();
    } catch (Exception ex) {
        throw new DaoException(ex, String.format("Problem deleting %s object (delete method).", o));
    }
}
Run Code Online (Sandbox Code Playgroud)

我的测试,期待DaoException:

@Test
public void testDeleteNotSavedThrowsDaoException() throws Exception {
    Ingredient …
Run Code Online (Sandbox Code Playgroud)

java spring dao hibernate

0
推荐指数
1
解决办法
539
查看次数