Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
ermolushka
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 5
#1

Подружить Core Data и iCarousel - Objective-C

29.01.2015, 19:14. Просмотров 504. Ответов 0
Метки нет (Все метки)

Есть entities (Lesson и Card), у одного урока может быть много карточек. Сначала я сделал два table view с добавлением карточек так, чтобы в каждом уроке отображались карточки именно этого урока и все было ок. Но теперь я захотел, чтобы была примерно следующая схема:

table view (Lesson) –> переход на iCarousel (слайдер в виде карточек этого урока и в таб баре кнопка add) –> при нажатии кнопки add переход на View controller и добавление карточки). С добавлением карточки все ок, с первым table view тоже, но не могу добиться отображения карточек в слайдере.

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#import "CardsScrollViewController.h"
#import "AddCardViewController.h"
#import <CoreData/CoreData.h>
#import "Card.h"
 
@interface CardsScrollViewController ()
 
@property (nonatomic, strong) NSMutableArray *items;
 
@end
 
 
@implementation CardsScrollViewController
@synthesize carousel;
@synthesize items;
 
 
- (NSManagedObjectContext *)managedObjectContext
{
    NSManagedObjectContext *context = nil;
    id delegate = [[UIApplication sharedApplication] delegate];
    if ([delegate performSelector:@selector(managedObjectContext)]) {
        context = [delegate managedObjectContext];
    }
    return context;
}
 
- (void)awakeFromNib
{
   
    
    self.items = [NSMutableArray array];
    NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Card"];
    NSPredicate* predicate = [NSPredicate predicateWithFormat:@"lesson == %@", self.lesson];
    [fetchRequest setPredicate:predicate];
    items = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
}
 
- (void)dealloc
{
    //it's a good idea to set these to nil here to avoid
    //sending messages to a deallocated viewcontroller
    carousel.delegate = nil;
    carousel.dataSource = nil;
}
 
#pragma mark -
#pragma mark View lifecycle
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //configure carousel
    carousel.type = iCarouselTypeCoverFlow2;
}
 
- (void)viewDidUnload
{
    [super viewDidUnload];
    
    //free up memory by releasing subviews
    self.carousel = nil;
}
 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}
 
#pragma mark -
#pragma mark iCarousel methods
 
- (NSInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
    //return the total number of items in the carousel
    return [items count];
}
 
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(UIView *)view
{
    UILabel *label = nil;
    
    //create new view if no view is available for recycling
    if (view == nil)
    {
        view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200.0f, 200.0f)];
        ((UIImageView *)view).image = [UIImage imageNamed:@"page.png"];
        view.contentMode = UIViewContentModeCenter;
        label = [[UILabel alloc] initWithFrame:view.bounds];
        label.backgroundColor = [UIColor clearColor];
        label.textAlignment = NSTextAlignmentCenter;
        label.font = [label.font fontWithSize:50];
        label.tag = 1;
        [view addSubview:label];
    }
    else
    {
        //get a reference to the label in the recycled view
        label = (UILabel *)[view viewWithTag:1];
    }
    
    //set item label
    //remember to always set any properties of your carousel item
    //views outside of the `if (view == nil) {...}` check otherwise
    //you'll get weird issues with carousel item content appearing
    //in the wrong place in the carousel
    
    Card *card = items[index];
    //[cell.textLabel setText:[NSString stringWithFormat:@"%@", [card valueForKey:@"name"]]];
    label.text = [card valueForKey:@"name"];
    //label.text = [items[index] stringValue];
    
    return view;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2015, 19:14     Подружить Core Data и iCarousel
Посмотрите здесь:
Objective-C Как записать данные в соответствующую категорию с Core Data?
Как подружить Qt и Objective-C Objective-C
Нужно разъяснение с Core Data
core data newManagedObject setValue:
core data, две сущности
Improve Core Data skills
Core Data проверка уникальности записи
Использование Core Data в статической библиотеке
core data запрос на получение суммы атрибута, всех записей
Муки выбора: core data или работа "напрямую" с sqlite
Error BC30466: Namespace or type 'Data' for the Imports 'System.Data' cannot be found Visual Basic .NET
Visual Basic Export data from SQL server (using VB) in new text file and return data

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru