- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码将多个日期作为 NSDate 返回
func setUpDays() {
var datesArray = [String]()
datesArray.append("28.03.2016")
datesArray.append("26.03.2016")
datesArray.append("27.03.2016")
for i in 0...datesArray.count-1 {
let dates2Convert = datesArray[i]
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"
let day = dateFormatter.dateFromString(dates2Convert)
print(day)
}
}
这是完美的工作。现在我想从核心数据而不是 datesArray 中获取这些日期
var dates = [NSManagedObject]()
func setUpDays() {
for i in 0...2 {
let currentDates = dates[i]
let date2Convert = currentDates.valueForKey("date") as? String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"
let day = dateFormatter.dateFromString(date2Convert)
print(day)
}
}
但是 let currentDates = dates[i]
代码抛出以下异常:
日期已正确保存在核心数据中。如果我打印出来,它们是正确的。我错过了什么?非常感谢您的帮助。
按要求:这就是用日期字符串填充核心数据的方式。
func parser(parser: NSXMLParser, foundCharacters string: String) {
let str = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
if parsedElement == "eventDates" && str != "" {
if currentEvent.eventDates.isEmpty {
currentEvent.eventDates = str
parsedElement = ""
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let entity = NSEntityDescription.entityForName("Calendar", inManagedObjectContext:managedContext)
let datum = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)
datum.setValue(currentEvent.eventDates, forKey: "date")
do {
try managedContext.save()
//5
dates.append(datum)
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
}
}
}
最佳答案
从冗长的聊天中可以看出,问题是 dates
已初始化并试图在 viewDidLoad()
中访问。然而,它还没有被填充,因为它发生在 XML 解析方法中。
为了让这个循环更安全
for i in 0...2 {
let currentDates = dates[i]
let date2Convert = currentDates.valueForKey("date") as? String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"
let day = dateFormatter.dateFromString(date2Convert)
print(day)
}
被这个循环替换了
dates.forEach { currentDate in
let date2Convert = currentDate.valueForKey("date") as? String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"
let day = dateFormatter.dateFromString(date2Convert)
print(day)
}
然后在解析结束后调用setupDates()
方法。
关于ios - Swift/如何通过valueForKey获取核心数据项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36061570/
愚蠢的问题警告......我可能会被剥夺 sleep ,但我似乎无法弄清楚这一点。 'current' 是一个 NSDictionary if ([current valueForKey:@"name
在我的应用程序中有一个名为“selectedItems”的 NSDictionary,它包含键“Order”。该值可以由用户更改。NSDictionary lokks 的定义如下: self.sele
我是 iOS 的新手,正在开发一个基本的应用程序,它目前正在使用 SSKeychain 和 AFNetworking 与 API 进行交互。当您使用我检索的应用程序登录并在我的 CredentialS
我正在使用 NSDictionary 来存储一组值,并且我正在尝试将它们分配给一个 double 值。但是我不确定该怎么做,valueforkey 返回一个 id,它是一个指针。我曾尝试使用“*”获取
NSDictionary *topic = [spaces objectAtIndex:i]; NSInteger topicid = [topic valueForKey:@"TOPICID
我有一个我想要一个值的 NSArray。 _membersArray = [_detailItem valueForKey:@"members"]; 当我使用此代码时: NSLog(@"%lu", (
我有两个从实体派生的NSManagedObject子类ActivityMember和Member。成员具有一个称为名称的属性,而 Activity 成员通过与成员一对一的关系具有一个称为成员的属性。我
我偶尔会遇到这种崩溃,这很难重现: 0 CoreFoundation 0x39ff73e2 __exceptionPreprocess + 158 1 lib
如何从下面的 NSMutableArray 数组中检索键值。以下代码在 isEqualToString 上崩溃。但是,在运行该语句之前,我可以在变量 View 窗口中看到 nsRet 的值为 @\x1
我是 IOS 编程的新手,正在尝试修改开发人员为我编写的一些代码。我在以下代码中遇到问题 NSUserDefaults *pref=[NSUserDefaults standardUserDefaul
我有一些代码从 plist 中提取数据: myImage.image = [UIImage imageNamed:[[myArray1 objectAtIndex:indexValue] valueF
我正在尝试使用字符串(“levelNumberString”)作为 NSDictionary 中的 valueForKey。当我使用像 @"1" 这样的字符串时,它一切正常,但是当我决定将那种字符串换
在 Objective-C 中,如果我有一个对象数组,并且每个对象都有一个 id 键,如下所示: NSArray *array = @[@{@"id":@(1), @"name":@"Bob"}, @
我还有一个关于检查 valueForKey 是否存在的问题。这是我的代码: id _jsonId = [NSJSONSerialization JSONObjectWithData:[_json da
我无法理解为什么我的有序集只保存了 1 个条目。 我的代码如下: let newInovice = NSEntityDescription.insertNewObjectForEntityForNam
我想在一个简单的游戏中保存高分。我是 swift 2 的新手,不确定我做错了什么。我收到错误消息“‘int’类型的值没有‘valueForKey’的成员。这是我上次尝试失败时的代码。 var high
我有一个简单的类 User。当我尝试调用 valueForKey 时,其中键是可选值,我收到错误消息。见下文: class User : NSObject{ var name = "Greg"
我有一个 NSMutableDictionary,其键是对象名称的第一个字母。该 View 类似于 iPhone 上的“联系人”选项卡。此外,用户可以选择列表中的单个对象。 在代码中,我找到每个选定的
我正在接收 JSON 数据并将其转换为字典。打印字典结果如下: Objekt: { author = blub; authorUID = 28084; date = "31.07.10"; numVo
我将一些对象标记为不事件 [apIndicators[i] setValue:[NSNumber numberWithBool:NO] forKey:@"isActive"]; 后来我将其中一些设置为
我是一名优秀的程序员,十分优秀!