Форум программистов, компьютерный форум, киберфорум
Наши страницы

Objective-C

Войти
Регистрация
Восстановить пароль
 
k-iak
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 2
#1

задача из кочана - Objective-C

02.12.2017, 17:13. Просмотров 770. Ответов 2

Добрый день!
Помогите, пожалуйста, разобраться.
Задача такая: муз плеер. создать плейлисты(мьют массивы) с треками на выбор, создать мастер библиотеку(мьют массив) с со всеми треками.
В методе addSongToPlaylist добавляю в массив arrayPlaylist и в массив masterLibriary трек (s). Но в массив masterLibriary трек не добавляется. Массив masterLibriary вообще нил, когда в него начинают добавлятся треки, хотя при инициализации он не нил...
Не могу понять почему не работает следующий код (часть проекта).

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
@interface Playlist : NSObject
@property (strong, nonatomic) NSString *masterLibName;
@property (strong, nonatomic) NSString *playlistName;
@property (strong, nonatomic) NSMutableArray *arrayPlaylist;
@property (strong, nonatomic) NSMutableArray *masterLibriary;
 
-(void) addSongToPlaylist: (Song *) s;
-(id) initPlaylistWithName: (NSString *) name;
-(id) initMasterLibriaryWithName: (NSString*) name;
@end
 
@implementation Playlist
@synthesize masterLibName, playlistName;
@synthesize arrayPlaylist, masterLibriary;
 
-(id) initMasterLibriaryWithName:(NSString *)name{
    self = [super init];
    if (self) {
        masterLibName = [NSString stringWithString: name];
        masterLibriary  = [NSMutableArray array];
    }
    return self;
}
 
-(id) initPlaylistWithName: (NSString *) name{
    self = [super init];
    if (self) {
        playlistName = [NSString stringWithString: name];
        arrayPlaylist = [NSMutableArray array];
    }
    return self;
}
 
-(instancetype) init{                                           
    return [self initPlaylistWithName:@"NOName"];
}
 
-(void) addSongToPlaylist: (Song*) s{
    [masterLibriary addObject: s];
    [arrayPlaylist addObject:s];
 
 
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Playlist * playlist1 = [[Playlist alloc] initPlaylistWithName:@"First playlist"];
        Playlist * playlist2 = [[Playlist alloc] initPlaylistWithName:@"Second playlist"];
        Playlist * playlist3 = [[Playlist alloc] initPlaylistWithName:@"Third playlist"];
        
        Playlist *masterLibCollection = [[Playlist alloc] initMasterLibriaryWithName:@"Master Libriary"];
 
        [playlist1 addSongToPlaylist:s1];
        [playlist2 addSongToPlaylist:s2]; [playlist2 addSongToPlaylist:s3];
        [playlist3 addSongToPlaylist:s4]; [playlist3 addSongToPlaylist:s5]; [playlist3 addSongToPlaylist:s6];
}
@end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2017, 17:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос задача из кочана (Objective-C):

Задание в книге Кочана - Objective-C
начал изучать Objectiv-C по книге Кочана, и тут есть задание , пожалуйста посмотрите всё ли я зделал. Задание: Комплексные (Complex)...

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача) - Pascal
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной задачи от умных голов. Задача: В некотором...

Задача на k-тую цифру последовательности, задача на схему Горнера. - Pascal
Ну, собственно опять прошу помощи... Задача 1: Определить k-тую цифру последовательности 1234567891011121314…, в которой выписаны подряд...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника - PascalABC.NET
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он уплатил по 31 талеру, а за каждого быка по...

Первая смешанная задача для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье - Дифференциальные уравнения
Решить первую смешанную задачу для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье ...

Задача о размещении весов по ящикам (задача о рюкзаках) - Delphi
Есть упорядоченный по невозрастанию набор весов предметов w1..wn, которые необходимо распределить по ящикам способным выдержать вес V,...

2
Митя800
56 / 57 / 14
Регистрация: 13.07.2015
Сообщений: 197
02.12.2017, 19:01 #2
Свойство masterLibriary инициализируется только в initMasterLibriaryWithName, в главном коде вызывается initPlaylistWithName, у объекта которого вызывается addSongToPlaylist, которым используется nil-объект.

Однако странная у класса Playlist обязанность, пересмотрите свой код, возможно понадобится разделить на два класса задачу.
1
k-iak
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 2
02.12.2017, 19:34  [ТС] #3
Спасибо за ответ!
Все понял.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2017, 19:34
Привет! Вот еще темы с ответами:

Задача Дам или задача Восьми - Алгоритмы
помогите найти ошибку в алгоритме. не находит ответ подозреваю ошибку в k, i, j package com.company; import java.util.Arrays;...

Задача линейного программирования, транспортная задача - Методы оптимизации
Всем привет. сижу на экзамене, помогите пожалуйста решить,сроно!!! заранее спасибо.

Задача на файл и задача на создание очереди - Pascal
1 Дан символьный файл, содержащий, по крайней мере, один символ пробела. Удалить из файла все символы, предшествующие пробелу 2 ...

задача Коши и краевая задача - Matlab
Помогите кто чем может))


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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