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

Posted

技术标签:

【中文标题】如何创建一个新的 ITLibMediaItem 对象?【英文标题】:How to create a new ITLibMediaItem object? 【发布时间】:2017-02-16 02:54:53 【问题描述】:

我正在尝试构建一个适用于 iTunes 的应用程序。于是,我将框架导入到我的项目中,并创建了一个小类,仅供学习之用,如下:

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

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

然后我决定为它创建一个单元测试,并做了以下事情:

- (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];

问题是属性title 是只读的。

所以我的问题是,如何创建一个带有标题的新 ITLibMediaItem 对象?我试图阅读 API (ITLibMediaItem) 但没有找到可以帮助的初始化...

【问题讨论】:

【参考方案1】:

我找到了。 ITLibMediaItem 中的属性使用setValuesForKeysWithDictionary 填充:

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];

【讨论】:

以上是关于如何创建一个新的 ITLibMediaItem 对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何从单个 DF 创建新的问卷-目标记录对?

python如何在循环中,每次循环都创建一个新的类?

通过java代码如何实现对mysql数据库进行创建新的数据库的操作

JavaScript 如何从引用类型(Array Object)创建一个新的对象

如何使用新的 CSS GRID 布局创建像 12 列(仅网格)网格系统的 Bootstrap

在linux下添加一块新硬盘` 如何对新的硬盘做磁盘配额`