小编Jop*_*opz的帖子

从 CoreData 实体. ManagedObjectClassName 中查找 Class.Type

我有一个接收类类型的方法:

public static func download<T:NSManagedObject>(_ classType:T.Type){
    ...
}
Run Code Online (Sandbox Code Playgroud)

我需要从一个只有可用的地方调用这个方法NSEntityDescription,所以基本上只有一个managedObjectClassName可用的字符串(据我所知)。

我尝试了以下代码:

let entityClass = NSClassFromString(entity.managedObjectClassName) as? NSManagedObject.Type
Run Code Online (Sandbox Code Playgroud)

但随后我获得了对该类的引用NSManagedObject,并且我需要访问子级的静态属性

有任何想法吗?

预先非常感谢

core-data nsmanagedobject ios swift

5
推荐指数
0
解决办法
250
查看次数

即使我更改了版本号,Room 也无法验证数据完整性

我正在创建我的第一个 Room SQLite 迁移,但我不知道我现在应该做什么,旧数据库中的版本号是 2,我将其更改为 3。我在当我尝试编译应用程序时的控制台:

java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number.
Run Code Online (Sandbox Code Playgroud)

我的数据库代码如下所示:

@Database(entities = {Vehicle.class, ShockAbsorver.class, Customer.class, Review.class, BadRatingOption.class}, version = 3)
public abstract class AppDatabase extends RoomDatabase{
private static AppDatabase INSTANCE;

public abstract VehicleDao vehicleDao();
public abstract ShockAbsorverDao absorverDao();
public abstract  CustomerDao customerDao();
public abstract ReviewDao reviewDao();
public abstract  OptionDao optionDao();

static final Migration MIGRATION_2_3 …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-room

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

标签 统计

android ×1

android-room ×1

core-data ×1

ios ×1

nsmanagedobject ×1

sqlite ×1

swift ×1