如何创建一个新的 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 对象?的主要内容,如果未能解决你的问题,请参考以下文章
通过java代码如何实现对mysql数据库进行创建新的数据库的操作
JavaScript 如何从引用类型(Array Object)创建一个新的对象