简体   繁体   English

如何创建一个新的ITLibMediaItem对象?

[英]How to create a new ITLibMediaItem object?

I'm trying build an app that will work with iTunes. 我正在尝试构建可与iTunes一起使用的应用程序。 So, I imported the framework into my project and created a small class, just for learning purposes as follows: 因此,我将框架导入到我的项目中并创建了一个小类,仅用于学习目的,如下所示:

-(NSMutableArray *)processMediaItems:(NSArray *)mediaItems {
    NSMutableArray *titles = [NSMutableArray new];

    if (mediaItems) {
        for (ITLibMediaItem *item in mediaItems) {
            [titles addObject:[item.title]];
        }
    }
    return titles;
}

Then I decided to create a unit test for it, and did the following: 然后,我决定为其创建一个单元测试,并执行以下操作:

- (void)testExample {    
    ITLibMediaItem *mediaItem = [[ITLibMediaItem alloc] init];
    //mediaItem.title = @"I Still Haven't Found What I'm Looking For";

    NSMutableArray *mediaItems = [NSMutableArray new];
    [mediaItems addObject:mediaItem];

    MyClass *mc = [MyClass new];
    NSMutableArray *titles = [mc processMediaItems:mediaItems];
}

The problem is that the property title is readonly. 问题在于属性title是只读的。

So my question is, how do I create a new ITLibMediaItem object with a title? 所以我的问题是,如何创建带有标题的新ITLibMediaItem对象? I tried to read the API ( ITLibMediaItem ) but didn't found a initialization that could help... 我尝试读取API( ITLibMediaItem ),但未找到可能有帮助的初始化...

I find it. 我找到了。 Properties in ITLibMediaItem are filled using setValuesForKeysWithDictionary : 使用setValuesForKeysWithDictionary填充ITLibMediaItem中的属性:

NSMutableDictionary *properties = [NSMutableDictionary dictionary];
[properties setObject:@"I Still Haven't Found What I'm Looking For" forKey:@"title"];

ITLibMediaItem *mediaItem = [[ITLibMediaItem alloc] init];
[mediaItem setValuesForKeysWithDictionary:properties];

NSMutableArray *mediaItems = [NSMutableArray new];
[mediaItems addObject:mediaItem];

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM