MapMapM 2013-01-14 02:07 采纳率: 0%
浏览 1971

表单元在标视图中的位置显示错误

DataModel.h

#import "DataModel.h"
#import <CoreData/CoreData.h>
#import "SettingsEntity.h"
#import "Constants.h"

@implementation DataModel

NSManagedObjectContext *managedObjectContextEntity;
NSManagedObjectContext *managedObjectContextMessage;
NSManagedObjectModel *managedObjectModel;
NSPersistentStoreCoordinator *persistentStoreCoordinator;
NSEntityDescription *theSettingsEntity;
NSEntityDescription *theMessagesEntity;        
-(id) init
{
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"SOW" withExtension:@"momd"];
    managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];    
    NSError *error = nil;    
    NSURL *storeURL = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:[Constants SQLLiteDB]];

    persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel];

    if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }

    if (persistentStoreCoordinator != nil) {
        managedObjectContextEntity = [[NSManagedObjectContext alloc] init];
        [managedObjectContextEntity setPersistentStoreCoordinator:persistentStoreCoordinator];

        managedObjectContextMessage = [[NSManagedObjectContext alloc] init];
        [managedObjectContextMessage setPersistentStoreCoordinator:persistentStoreCoordinator];
    }

    theSettingsEntity = [NSEntityDescription entityForName:@"SettingsEntity" inManagedObjectContext:managedObjectContextEntity];
    theMessagesEntity = [NSEntityDescription entityForName:@"MessageEntity" inManagedObjectContext:managedObjectContextMessage];

    return self;
}
-(void) SaveSetting: (SettingsEntity *)setting
{
    NSError *error = nil;

    if (managedObjectContextEntity != nil) {
        if ([managedObjectContextEntity hasChanges] && ![managedObjectContextEntity save:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        } 
        else {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Confirmation" message:@"Settings were saved successfully." delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil];
            [alert show];
        }

    }
}

-(void) SaveMessage: (MessageEntity *)message
{
    NSError *error = nil;

    if (managedObjectContextMessage != nil) {
        if ([managedObjectContextMessage hasChanges] && ![managedObjectContextMessage save:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        } 
    }    
}

-(NSArray *) GetSettingsResult
{

    NSManagedObjectContext *context = managedObjectContextEntity;
    NSFetchRequest *request = [[NSFetchRequest alloc] init];

    [request setEntity:theSettingsEntity];

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"enteredDateTime" ascending:NO];
    NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];

    [request setSortDescriptors:sortDescriptors];


    NSArray *results = [context executeFetchRequest:request error:nil];

    return results;
}

-(SettingsEntity *) GetSettingsEntity
{
    SettingsEntity *settingsEntity = [NSEntityDescription 
                                      insertNewObjectForEntityForName:[theSettingsEntity name] 
                                      inManagedObjectContext:managedObjectContextEntity];
    return settingsEntity;
}

-(NSArray *) GetMessageResult
{
    NSFetchRequest *request = [self GetMessageFetchRequest];
    NSArray *results = [managedObjectContextMessage executeFetchRequest:request error:nil];

    return results;
}

-(NSFetchRequest *) GetMessageFetchRequest
{
    NSFetchRequest *request = [[NSFetchRequest alloc] init];

    [request setEntity:theMessagesEntity];

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"sentDateTime" ascending:NO];
    NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];

    [request setSortDescriptors:sortDescriptors];

    return request;
}

-(NSFetchedResultsController *)  GetMessageFetchResultsController
{
    NSFetchRequest *fetchRequest = [self GetMessageFetchRequest];
    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContextMessage sectionNameKeyPath:@"typeMessage" cacheName:nil];
    return aFetchedResultsController;
}

-(MessageEntity *) GetMessageEntity
{
    MessageEntity *mEntity = [NSEntityDescription 
                                      insertNewObjectForEntityForName:[theMessagesEntity name] 
                                      inManagedObjectContext:managedObjectContextMessage];
    return mEntity;
}    
@end

显示出来的 history table view结果是:

CSDN移动问答

可以看见email和call的显示位置对应错误,不知道为什么?请大家帮忙解答。

  • 写回答

1条回答 默认 最新

  • 睡觉不盖被 2015-08-24 15:33
    关注

    数据错位,只能是通过section 和row 取数据时,楼主没有找到对应的数据。建议楼主 将逻辑先在纸上弄清楚 然后再通过代码去显示

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器