【问题标题】:How to create a new ITLibMediaItem object?如何创建一个新的 ITLibMediaItem 对象?
【发布时间】: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) 但没有找到可以帮助的初始化...

【问题讨论】:

    标签: objective-c ituneslibrary


    【解决方案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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多