2017-10-27 7 views
-1

好きではなくhh:mm:ss(10:45:32)のようにしたい2017-10-24 10:45:32 +0600、コアデータでそれを可能にする方法は?私は日付と時間の代わりに時間だけを保存したいcoredata objective-c

- (IBAction)SaveTasks:(UIButton *)sender 
{ 

    [dateformater setDateFormat:@"dd/MM/yyyy"]; 

    NSDate *date = [dateformater dateFromString:datepictxt.text]; 

    NSManagedObjectContext *context = ((AppDelegate*)[[UIApplication sharedApplication] delegate]).persistentContainer.viewContext; 

    NSManagedObject *entityNameObj = [NSEntityDescription insertNewObjectForEntityForName:@"Tasks" inManagedObjectContext:context]; 

    [entityNameObj setValue:tasks.text forKey:@"taskname"]; 
    [entityNameObj setValue:date forKey:@"date"]; 

    [((AppDelegate*)[[UIApplication sharedApplication] delegate]) saveContext]; 

    NSError *error = nil; 
    if (![context save:&error]) 
    { 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 

    }else { 
     NSLog(@"Your Data has been Saved!"); 
    } 



} 
+1

「NSString」を「10:45:32」に保存したい場合は、文字列として保存してください。NSDateオブジェクトに変換しないでください。 – DonMag

+0

それでは、どうすれば時間と比較できますか? – VyTcdc

+0

時間だけを保存することはできません。 – VyTcdc

答えて

2

あなたはデータモデルインスペクタで属性のスカラ型(右ペイン、右のほとんどのタブ)を使用することができますが、日付は、デフォルトNSDateであるよりも、あなたは、日付型でCoreDataエンティティを持っている場合。

どちらの方法でも、日付タイプには日付と時刻の完全な日付情報が含まれます。あなただけの時間を印刷したい場合は

は、次のような何かを行うことができます:あなただけの時間を印刷する必要がある場合は、そう

NSDate *now = [NSDate date]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateFormat = @"hh:mm:ss"; 
NSString *timeString = [formatter stringFromDate:now]; 
NSLog(@"time:%@", timeString); 
// prints: time:03:02:21 

。コアデータエンティティに時刻文字列を格納する必要がある場合は、そのためにString属性を追加する必要があります。

+0

時刻を文字列として保存します – VyTcdc

関連する問題