Форум программистов, компьютерный форум, киберфорум
Objective-C
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 2
1

Исправить код с добавлением в плейлист

02.12.2017, 17:13. Показов 2989. Ответов 2

Author24 — интернет-сервис помощи студентам
Добрый день!
Помогите, пожалуйста, разобраться.
Задача такая: муз плеер. создать плейлисты(мьют массивы) с треками на выбор, создать мастер библиотеку(мьют массив) с со всеми треками.
В методе 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2017, 17:13
Ответы с готовыми решениями:

Модифицировать код добавлением if и else
Доброго времени cуток! Помогите модифицировать код. Требуется добавить if и else помогите это...

Скажите, пожалуйста, как исправить исправить код в процедуре
задание такое :Дан одномерный массив. Переместить нулевые элементы массива в начало, сдвинув...

Код, который включает/выключает светодиоды на клавиатуре. Исправить код
Есть код, который включает/выключает светодиоды (Caps Lock, Num Lock и Scroll Lock) по нажатию...

Как вставить div в PHP код (в echo) - исправить код
Народ как вставить div в php код точнее в echo В этот код:<?php //отсеивание $dir = "MP3...

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

Однако странная у класса Playlist обязанность, пересмотрите свой код, возможно понадобится разделить на два класса задачу.
1
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 2
02.12.2017, 19:34  [ТС] 3
Спасибо за ответ!
Все понял.
0
02.12.2017, 19:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2017, 19:34
Помогаю со студенческими работами здесь

как исправить код на динамический массив-код уже написан только на статическом
#include <iostream> #include <iostream> #include "string.h" using namespace std; const...

Код не отображает картинку с камеры. Исправить код
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Нужно исправить код. Комментарии добавляются в guestbook.txt, а сам код находится в guestbook.php
Написал такой код для комментирования страницы. Однако 1 коммент отправляется пустым, вместо 2-ого...

Исправить код
После ввода слов, если в конце ставлю пробел, вылетает ошибка. И при вводе буквы есть тоже...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru