Ios 展开选项
我在一个SQLLite数据库中有两个值,我正在尝试打印它,我正在遵循一个关于核心数据的教程Ios 展开选项,ios,xcode,sqlite,swift,optional,Ios,Xcode,Sqlite,Swift,Optional,我在一个SQLLite数据库中有两个值,我正在尝试打印它,我正在遵循一个关于核心数据的教程 var request = NSFetchRequest(entityName: "Users"); request.returnsObjectsAsFaults = false; var results = context.executeFetchRequest(request, error: nil); if(results?.count > 0){
var request = NSFetchRequest(entityName: "Users");
request.returnsObjectsAsFaults = false;
var results = context.executeFetchRequest(request, error: nil);
if(results?.count > 0){
for result:AnyObject in results! {
println(result.password!);
println(result.name!);
}
}else{
println("No results found");
}
执行以下操作将打印如下所示的输出
Optional("pass")
Ricki
但是,如果我修改
结果.密码
如下
println(result.password! as String!);
然后我得到如下输出:
pass
Ricki
为什么我需要对数据库中的一列执行此操作,以便它在没有可选项的情况下打印,而不打印另一列
谢谢您不应该强制转换为任何对象,更好地强制转换对象数组 比如: 如果你的价值观需要一个!可能是您已取消选中核心数据中的可选复选框
为什么在查看结果时使用AnyObject而不是用户?请显示在用户上声明的名称和密码。在对象模型中,是否已取消选中name属性的可选复选框?
var request = NSFetchRequest(entityName: "Users");
request.returnsObjectsAsFaults = false;
var users = context.executeFetchRequest(request, error: nil) as [Users]
If users.count > 0 {
for user in users {
println(user.password);
println(user.name);
}
}