2017-02-16 8 views
0

私はiTunesで動作するアプリケーションを構築しようとしています。だから、私は自分のプロジェクトにフレームワークをインポートし、小さなクラスを作成し、ちょうど次のように目的を学ぶために:新しいITLibMediaItemオブジェクトの作成方法は?

-(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)を読もうとしましたが、初期化が見つかりませんでした...

答えて

0

私はそれを見つけることができます。 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]; 
関連する問題