【发布时间】:2015-12-29 17:52:38
【问题描述】:
我对使用 Core Data (XCode 7.1 / Swift 2.0) 的错误感到困惑
以下代码运行良好
class DB_PlayerData: NSManagedObject
{
@NSManaged var playerID: NSNumber
}
class PlayerClass
{
var IDPlayer: Int = 0
}
func test()
{
let LocalAppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let ManagedObjectContext = LocalAppDelegate.managedObjectContext
var SelectAll = NSFetchRequest()
var ResultatRecherche: NSArray = []
var gPlayerData = PlayerClass()
SelectAll = NSFetchRequest(entityName: eNomDBFiles.DB_PlayerData.rawValue)
try! ResultatRecherche = ManagedObjectContext?.executeFetchRequest(SelectAll) as! [DB_PlayerData]
if (ResultatRecherche.count == 1)
{
gPlayerData.IDPlayer = Int(ResultatRecherche[0].playerID)
}
else
{
// Do something
}
}
但是如果test 函数与DB_PlayerData 类声明不在我的项目中的同一个swift 文件中,我会收到以下错误:Value of type 'AnyObject' has no member 'playerID'
实体已在 Xcode 的 DB 模型中创建,名称和类等于 DB_PlayerData,并且模块设置为项目名称。我已经尝试了这里描述的所有类型的设置选项,但都没有成功。
有什么线索吗?
【问题讨论】:
-
请注意,每个变量名都以小写字母开头,每个单词之后以大写字母开头是很好的做法。例如,不是
ResultatRecherche,而是resultatRecherche。这称为 lowerCamelCase。