我在sql lite数据库中有两个值,我正在尝试打印(我正在关注核心数据的教程)
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
但是,如果我修改
result.password
成为以下
println(result.password! as String!);
然后我得到如下输出;
pass
Ricki
为什么我需要为数据库中的一列执行此操作,以便在没有可选项但不为另一列的情况下进行打印?
由于
答案 0 :(得分:0)
你不应该作为Anyobject,更好地施放NSObject阵列。
像:
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);
}
}
为什么你的价值可能需要一个!可能是您取消选中核心数据中的“可选复选框”