Nano Hash - криптовалюты, майнинг, программирование

возвращает нулевое значение при извлечении записи из основных данных

Привет, друзья, когда я извлекаю записи из основных данных, они показывают null. Я не знаю, в чем проблема. Я очень рад, если кто-то решит мою проблему. Вот мой код.

ПРИМЕЧАНИЕ. Я вернул все основные функции данных в отдельный файл с именем «dbmanager».

dbmanager.m

- (NSArray *)fetchAllAds {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"Ad" 
inManagedObjectContext:dbManager.managedObjectContext]];
NSError *error = nil;
NSArray *results = [managedObjectContext executeFetchRequest:fetchRequest error:&error]; 
return results;
}

- (Ad*)addToFavourite:(NSNumber*)adId text:(NSString*)text type:(LinkupType)type {

Ad *item = (Ad*)[NSEntityDescription insertNewObjectForEntityForName:@"Ad" 
inManagedObjectContext:self.managedObjectContext]; 
item.adId = adId;
item.data =text;
item.state = [NSNumber numberWithInt:type];
[self save];
return item;  
}

- (void)save {
NSError *error = nil;
if (![[self managedObjectContext] save:&error]) {
    // Update to handle the error appropriately.
    NSLog(@"Unresolved error7 %@, %@", error, [error userInfo]);
    exit(-1);  // Fail
}
}

MYviewcontroller.m

- (void)viewDidLoad
 {
self.fetchedRecordsArray = [[DBManager instance]fetchAllAds];
[[DBManager instance]managedObjectContext];
[self.shoppingtbl reloadData];
//NSLog(@"the fetched data is %@",[[DBManager instance]fetchAllAds]);
[super viewDidLoad];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.fetchedRecordsArray count];

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath 
*)indexPath
{
static NSString *CellIdentifier = @"ShoppingCart";
ShoppingCart *cell = (ShoppingCart*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier
                                                                    forIndexPath:indexPath];
ad=[self.fetchedRecordsArray objectAtIndex:indexPath.row];
cell.addesc.text =[NSString stringWithFormat:@"%@",ad.data];
cell.adId.text=[NSString stringWithFormat:@"%lu", (long)[ad.adId integerValue]];
cell.adstatus.text=[NSString stringWithFormat:@"%@",ad.state];
return cell;

}

пожалуйста, попробуйте решить мою проблему. Когда я проверяю nslog, это выглядит так:

     "<Ad: 0x9751570> (entity: Ad; id: 0x974c6b0 <x-coredata://B3AA111F-8307-4A16-B898-403A804DFDFB/Ad/p56> ; data: <fault>)",
"<Ad: 0x974e370> (entity: Ad; id: 0x9751af0 <x-coredata://B3AA111F-8307-4A16-B898-403A804DFDFB/Ad/p57> ; data: <fault>)"

note:  status section is showing properly!

  • Ваш NSLog выше показывает, что у вас есть два объекта. Что отображается, если вы регистрируете свойства этих объектов? 09.10.2014

Ответы:


1

Используйте NSFetchedResultsController вместо использования массива fetchedRecordsArray с отдельной выборкой. хранить ManagedObjects в коде небезопасно.

09.10.2014
  • Когда я создаю новый запрос объекта управления, подобный этому, NSManagedObject *record = [self.fetchedResultsController objectAtIndexPath:indexPath]; 09.10.2014
  • как реализовать для ячейки табличного представления? 09.10.2014
  • используйте эту ссылку: stackoverflow.com/questions/ 18361651/ 09.10.2014
  • ни один человек, это не работает ... все же он показывает ноль в разделе id и desc section.status, только работает. 09.10.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..