Swift 有核心数据
Swift with core data
我刚开始使用 swift 和核心数据。我有一个实体 invoiceList 并创建了一些属性(一些字符串、整数 32 和小数)。
我创建了一个 edit/add viewcontroller,但现在我被困在添加新项目部分。我收到错误 "cannot assign a value of type string? to a value of type NSNumber?"
我尝试了多种方法将 vat 文本字段转换为 Int 但没有成功。
我试过了
var invoiceVATString = nItem.valueForkey("invoiceVAT") as String
invoiceVATString = vat.text
这里是 newItem 函数
func newItem(){
let context = self.context
let ent = NSEntityDescription.entityForName("invoiceList", inManagedObjectContext: context)
let nItem = InvoicesList(entity: ent!, insertIntoManagedObjectContext: context)
nItem.invoiceShopName = shopName.text
nItem.invoiceDescr = productDescription.text
nItem.invoiceVAT = vat.text<-cannot assign a value of type string? to a value of type NSNumber?
nItem.invoiceNumber = orderNumber.text<-cannot assign a value of type string? to a value of type NSNumber?
}
现在我知道 invoiceVAT 是 decimal 类型的核心数据属性,而 vat 是文本字段。我该如何解决这个问题?
这是一个使用数字格式化程序从字符串中检索 NSNumber 的简单示例
let aNumberString = "1235.45"
let numberFormatter = NSNumberFormatter()
if let theNumber = numberFormatter.numberFromString(aNumberString) {
println(theNumber)
}
我刚开始使用 swift 和核心数据。我有一个实体 invoiceList 并创建了一些属性(一些字符串、整数 32 和小数)。
我创建了一个 edit/add viewcontroller,但现在我被困在添加新项目部分。我收到错误 "cannot assign a value of type string? to a value of type NSNumber?"
我尝试了多种方法将 vat 文本字段转换为 Int 但没有成功。
我试过了
var invoiceVATString = nItem.valueForkey("invoiceVAT") as String
invoiceVATString = vat.text
这里是 newItem 函数
func newItem(){
let context = self.context
let ent = NSEntityDescription.entityForName("invoiceList", inManagedObjectContext: context)
let nItem = InvoicesList(entity: ent!, insertIntoManagedObjectContext: context)
nItem.invoiceShopName = shopName.text
nItem.invoiceDescr = productDescription.text
nItem.invoiceVAT = vat.text<-cannot assign a value of type string? to a value of type NSNumber?
nItem.invoiceNumber = orderNumber.text<-cannot assign a value of type string? to a value of type NSNumber?
}
现在我知道 invoiceVAT 是 decimal 类型的核心数据属性,而 vat 是文本字段。我该如何解决这个问题?
这是一个使用数字格式化程序从字符串中检索 NSNumber 的简单示例
let aNumberString = "1235.45"
let numberFormatter = NSNumberFormatter()
if let theNumber = numberFormatter.numberFromString(aNumberString) {
println(theNumber)
}