From 14d1e99249e454352669d2a197c0e5499fdac6e9 Mon Sep 17 00:00:00 2001 From: Amanda Date: Tue, 10 Mar 2015 16:22:45 -0300 Subject: [PATCH 1/3] Bronze 1.A --- iTunesSearch/TableView.xib | 2 +- iTunesSearch/TableViewCell.h | 3 ++ iTunesSearch/TableViewCell.xib | 62 +++++++++++++++++++++++++++--- iTunesSearch/TableViewController.m | 4 ++ iTunesSearch/iTunesManager.m | 2 + 5 files changed, 66 insertions(+), 7 deletions(-) diff --git a/iTunesSearch/TableView.xib b/iTunesSearch/TableView.xib index 55f128c..f4a02b9 100644 --- a/iTunesSearch/TableView.xib +++ b/iTunesSearch/TableView.xib @@ -1,5 +1,5 @@ - + diff --git a/iTunesSearch/TableViewCell.h b/iTunesSearch/TableViewCell.h index b630349..e7e8ed0 100644 --- a/iTunesSearch/TableViewCell.h +++ b/iTunesSearch/TableViewCell.h @@ -12,6 +12,9 @@ @property (weak, nonatomic) IBOutlet UILabel *nome; @property (weak, nonatomic) IBOutlet UILabel *tipo; +@property (weak, nonatomic) IBOutlet UILabel *genero; +@property (weak, nonatomic) IBOutlet UILabel *ano; +@property (weak, nonatomic) IBOutlet UILabel *pais; @end diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index bf8bd3f..a579f16 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -1,5 +1,5 @@ - + @@ -14,30 +14,80 @@ + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index f689980..f96fafa 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -56,6 +56,10 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS [celula.nome setText:filme.nome]; [celula.tipo setText:@"Filme"]; + [celula.genero setText:filme.genero]; + [celula.pais setText:filme.pais]; + // [celula.ano setText:filme.ano]; + return celula; } diff --git a/iTunesSearch/iTunesManager.m b/iTunesSearch/iTunesManager.m index e2babda..54a1c9a 100644 --- a/iTunesSearch/iTunesManager.m +++ b/iTunesSearch/iTunesManager.m @@ -57,6 +57,8 @@ - (NSArray *)buscarMidias:(NSString *)termo { [filme setDuracao:[item objectForKey:@"trackTimeMillis"]]; [filme setGenero:[item objectForKey:@"primaryGenreName"]]; [filme setPais:[item objectForKey:@"country"]]; +// [filme setano:[item objectForKey:@"releaseDate"]]; + [filmes addObject:filme]; } From 00effe232e8f9aa564acef39d7053d65d13931a0 Mon Sep 17 00:00:00 2001 From: Amanda Date: Tue, 10 Mar 2015 18:30:51 -0300 Subject: [PATCH 2/3] bronze 1.B --- iTunesSearch/Entidades/Filme.h | 1 + iTunesSearch/TableView.xib | 72 ++++++++++++++++++++++++++---- iTunesSearch/TableViewCell.xib | 18 ++++++-- iTunesSearch/TableViewController.h | 3 ++ iTunesSearch/TableViewController.m | 14 +++++- iTunesSearch/iTunesManager.m | 2 +- 6 files changed, 95 insertions(+), 15 deletions(-) diff --git a/iTunesSearch/Entidades/Filme.h b/iTunesSearch/Entidades/Filme.h index eb126dc..7670069 100644 --- a/iTunesSearch/Entidades/Filme.h +++ b/iTunesSearch/Entidades/Filme.h @@ -16,5 +16,6 @@ @property (nonatomic, strong) NSString *duracao; @property (nonatomic, strong) NSString *genero; @property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *ano; @end diff --git a/iTunesSearch/TableView.xib b/iTunesSearch/TableView.xib index f4a02b9..5934f60 100644 --- a/iTunesSearch/TableView.xib +++ b/iTunesSearch/TableView.xib @@ -6,20 +6,76 @@ + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index a579f16..839ed75 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -7,8 +7,8 @@ - - + + @@ -27,7 +27,7 @@ + @@ -48,6 +54,7 @@ + @@ -57,12 +64,14 @@ + + @@ -85,12 +94,13 @@ + - + diff --git a/iTunesSearch/TableViewController.h b/iTunesSearch/TableViewController.h index 0cbb5c4..453734c 100644 --- a/iTunesSearch/TableViewController.h +++ b/iTunesSearch/TableViewController.h @@ -11,6 +11,9 @@ @interface TableViewController : UIViewController +@property (strong, nonatomic) IBOutlet UIView *view; +@property (weak, nonatomic) IBOutlet UITextField *campoBusca; +- (IBAction)pesquisar:(id)sender; @property (strong, nonatomic) IBOutlet UITableView *tableview; @end diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index f96fafa..b92008e 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -30,6 +30,9 @@ - (void)viewDidLoad { iTunesManager *itunes = [iTunesManager sharedInstance]; midias = [itunes buscarMidias:@"Apple"]; + [self.tableview setDelegate:self]; + [self.tableview setDataSource:self]; + #warning Necessario para que a table view tenha um espaco em relacao ao topo, pois caso contrario o texto ficara atras da barra superior self.tableview.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableview.bounds.size.width, 15.f)]; } @@ -58,15 +61,22 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS [celula.tipo setText:@"Filme"]; [celula.genero setText:filme.genero]; [celula.pais setText:filme.pais]; - // [celula.ano setText:filme.ano]; + [celula.ano setText:filme.ano]; return celula; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - return 70; + return 80; } +- (IBAction)pesquisar:(id)sender { + iTunesManager *itunes = [iTunesManager sharedInstance]; + midias =[itunes buscarMidias:[NSString stringWithFormat:@"%@", self.campoBusca.text]]; + [self resignFirstResponder]; + [self.tableview reloadData]; + [NSString stringWithFormat:@"%@", self.campoBusca.text = nil]; +} @end diff --git a/iTunesSearch/iTunesManager.m b/iTunesSearch/iTunesManager.m index 54a1c9a..8c41185 100644 --- a/iTunesSearch/iTunesManager.m +++ b/iTunesSearch/iTunesManager.m @@ -57,7 +57,7 @@ - (NSArray *)buscarMidias:(NSString *)termo { [filme setDuracao:[item objectForKey:@"trackTimeMillis"]]; [filme setGenero:[item objectForKey:@"primaryGenreName"]]; [filme setPais:[item objectForKey:@"country"]]; -// [filme setano:[item objectForKey:@"releaseDate"]]; + [filme setAno:[item objectForKey:@"releaseDate"]]; [filmes addObject:filme]; } From ff7fe9bf44d4aa97665f5bc199ef79b554e3ce20 Mon Sep 17 00:00:00 2001 From: Amanda Date: Fri, 13 Mar 2015 14:49:29 -0300 Subject: [PATCH 3/3] =?UTF-8?q?Sections,=20UiNavegationController=20e=20't?= =?UTF-8?q?radu=C3=A7=C3=A3o'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iTunesSearch.xcodeproj/project.pbxproj | 57 ++++++++++++++ iTunesSearch/AppDelegate.m | 4 +- iTunesSearch/Entidades/Musica.h | 21 ++++++ iTunesSearch/Entidades/Musica.m | 13 ++++ iTunesSearch/Entidades/Tv.h | 21 ++++++ iTunesSearch/Entidades/Tv.m | 13 ++++ iTunesSearch/TableView.xib | 47 ++++++------ iTunesSearch/TableViewCell.xib | 26 ++----- iTunesSearch/TableViewController.h | 1 + iTunesSearch/TableViewController.m | 70 ++++++++++++++--- .../arquivoAuxiliarParaTraducao/en.xliff | 40 ++++++++++ .../arquivoAuxiliarParaTraducao/fr.xliff | 41 ++++++++++ .../arquivoAuxiliarParaTraducao/pt.xliff | 41 ++++++++++ iTunesSearch/fr.lproj/InfoPlist.strings | 1 + iTunesSearch/fr.lproj/Localizable.strings | 3 + iTunesSearch/iTunesManager.m | 75 +++++++++++++------ iTunesSearch/pt.lproj/InfoPlist.strings | 1 + iTunesSearch/pt.lproj/Localizable.strings | 3 + iTunesSearchTests/fr.lproj/InfoPlist.strings | 1 + iTunesSearchTests/pt.lproj/InfoPlist.strings | 1 + 20 files changed, 405 insertions(+), 75 deletions(-) create mode 100644 iTunesSearch/Entidades/Musica.h create mode 100644 iTunesSearch/Entidades/Musica.m create mode 100644 iTunesSearch/Entidades/Tv.h create mode 100644 iTunesSearch/Entidades/Tv.m create mode 100644 iTunesSearch/arquivoAuxiliarParaTraducao/en.xliff create mode 100644 iTunesSearch/arquivoAuxiliarParaTraducao/fr.xliff create mode 100644 iTunesSearch/arquivoAuxiliarParaTraducao/pt.xliff create mode 100644 iTunesSearch/fr.lproj/InfoPlist.strings create mode 100644 iTunesSearch/fr.lproj/Localizable.strings create mode 100644 iTunesSearch/pt.lproj/InfoPlist.strings create mode 100644 iTunesSearch/pt.lproj/Localizable.strings create mode 100644 iTunesSearchTests/fr.lproj/InfoPlist.strings create mode 100644 iTunesSearchTests/pt.lproj/InfoPlist.strings diff --git a/iTunesSearch.xcodeproj/project.pbxproj b/iTunesSearch.xcodeproj/project.pbxproj index 79e06d7..f2d613c 100644 --- a/iTunesSearch.xcodeproj/project.pbxproj +++ b/iTunesSearch.xcodeproj/project.pbxproj @@ -7,6 +7,11 @@ objects = { /* Begin PBXBuildFile section */ + 10EE352A1AB0A824004D842C /* Musica.m in Sources */ = {isa = PBXBuildFile; fileRef = 10EE35291AB0A824004D842C /* Musica.m */; }; + 10EE35301AB0CA58004D842C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 10EE35321AB0CA58004D842C /* InfoPlist.strings */; }; + 10EE35351AB0CA59004D842C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 10EE35371AB0CA59004D842C /* InfoPlist.strings */; }; + 10EE353A1AB0CA59004D842C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 10EE353C1AB0CA59004D842C /* Localizable.strings */; }; + 10EE35421AB0DB8B004D842C /* Tv.m in Sources */ = {isa = PBXBuildFile; fileRef = 10EE35411AB0DB8B004D842C /* Tv.m */; }; 92C21CB61AAE757A0052ABE6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CB51AAE757A0052ABE6 /* main.m */; }; 92C21CB91AAE757A0052ABE6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CB81AAE757A0052ABE6 /* AppDelegate.m */; }; 92C21CBC1AAE757A0052ABE6 /* TableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CBB1AAE757A0052ABE6 /* TableViewController.m */; }; @@ -30,6 +35,16 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 10EE35281AB0A824004D842C /* Musica.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Musica.h; path = Entidades/Musica.h; sourceTree = ""; }; + 10EE35291AB0A824004D842C /* Musica.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Musica.m; path = Entidades/Musica.m; sourceTree = ""; }; + 10EE35311AB0CA58004D842C /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 10EE35361AB0CA59004D842C /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 10EE353B1AB0CA59004D842C /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 10EE353D1AB0CA67004D842C /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; + 10EE353E1AB0CA68004D842C /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; + 10EE353F1AB0CA68004D842C /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = ""; }; + 10EE35401AB0DB8B004D842C /* Tv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Tv.h; path = Entidades/Tv.h; sourceTree = ""; }; + 10EE35411AB0DB8B004D842C /* Tv.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Tv.m; path = Entidades/Tv.m; sourceTree = ""; }; 92C21CB01AAE757A0052ABE6 /* iTunesSearch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iTunesSearch.app; sourceTree = BUILT_PRODUCTS_DIR; }; 92C21CB41AAE757A0052ABE6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 92C21CB51AAE757A0052ABE6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; @@ -108,6 +123,8 @@ 92C21CB31AAE757A0052ABE6 /* Supporting Files */ = { isa = PBXGroup; children = ( + 10EE353C1AB0CA59004D842C /* Localizable.strings */, + 10EE35371AB0CA59004D842C /* InfoPlist.strings */, 92C21CB41AAE757A0052ABE6 /* Info.plist */, 92C21CB51AAE757A0052ABE6 /* main.m */, ); @@ -126,6 +143,7 @@ 92C21CCD1AAE757A0052ABE6 /* Supporting Files */ = { isa = PBXGroup; children = ( + 10EE35321AB0CA58004D842C /* InfoPlist.strings */, 92C21CCE1AAE757A0052ABE6 /* Info.plist */, ); name = "Supporting Files"; @@ -146,6 +164,10 @@ children = ( 92C21CE61AAE858E0052ABE6 /* Filme.h */, 92C21CE71AAE858E0052ABE6 /* Filme.m */, + 10EE35281AB0A824004D842C /* Musica.h */, + 10EE35291AB0A824004D842C /* Musica.m */, + 10EE35401AB0DB8B004D842C /* Tv.h */, + 10EE35411AB0DB8B004D842C /* Tv.m */, ); name = Entidades; sourceTree = ""; @@ -230,7 +252,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 10EE353A1AB0CA59004D842C /* Localizable.strings in Resources */, 92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */, + 10EE35351AB0CA59004D842C /* InfoPlist.strings in Resources */, 92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */, 92C21CDD1AAE75DC0052ABE6 /* TableView.xib in Resources */, ); @@ -240,6 +264,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 10EE35301AB0CA58004D842C /* InfoPlist.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -251,6 +276,8 @@ buildActionMask = 2147483647; files = ( 92C21CBC1AAE757A0052ABE6 /* TableViewController.m in Sources */, + 10EE35421AB0DB8B004D842C /* Tv.m in Sources */, + 10EE352A1AB0A824004D842C /* Musica.m in Sources */, 92C21CDB1AAE75B30052ABE6 /* iTunesManager.m in Sources */, 92C21CB91AAE757A0052ABE6 /* AppDelegate.m in Sources */, 92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */, @@ -277,6 +304,36 @@ }; /* End PBXTargetDependency section */ +/* Begin PBXVariantGroup section */ + 10EE35321AB0CA58004D842C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 10EE35311AB0CA58004D842C /* fr */, + 10EE353D1AB0CA67004D842C /* pt */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 10EE35371AB0CA59004D842C /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 10EE35361AB0CA59004D842C /* fr */, + 10EE353E1AB0CA68004D842C /* pt */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 10EE353C1AB0CA59004D842C /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 10EE353B1AB0CA59004D842C /* fr */, + 10EE353F1AB0CA68004D842C /* pt */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 92C21CD11AAE757A0052ABE6 /* Debug */ = { isa = XCBuildConfiguration; diff --git a/iTunesSearch/AppDelegate.m b/iTunesSearch/AppDelegate.m index d513fd8..70b2f0e 100644 --- a/iTunesSearch/AppDelegate.m +++ b/iTunesSearch/AppDelegate.m @@ -28,7 +28,9 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( #warning Adicionado codigo para iniciar com a interface do TableView // TableViewController *tvc = [[TableViewController alloc] initWithNibName:@"TableView" bundle:nil]; TableViewController *tvc = [[TableViewController alloc] init]; - [self.window setRootViewController:tvc]; + UINavigationController *naveControle = [[UINavigationController alloc] initWithRootViewController:tvc]; + [[self window]setRootViewController:naveControle]; + // [self.window setRootViewController:tvc]; [self.window makeKeyAndVisible]; return YES; } diff --git a/iTunesSearch/Entidades/Musica.h b/iTunesSearch/Entidades/Musica.h new file mode 100644 index 0000000..a79cae7 --- /dev/null +++ b/iTunesSearch/Entidades/Musica.h @@ -0,0 +1,21 @@ +// +// Musica.h +// iTunesSearch +// +// Created by Amanda Guimaraes Campos on 11/03/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Musica : NSObject + +@property (nonatomic, strong) NSString *nomeArtista; +@property (nonatomic, strong) NSNumber *precoDaColecao; +@property (nonatomic, strong) NSString *nomeAlbum; +@property (nonatomic, strong) NSString *duracao; +@property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *ano; +@property (nonatomic, strong) NSString *genero; + +@end diff --git a/iTunesSearch/Entidades/Musica.m b/iTunesSearch/Entidades/Musica.m new file mode 100644 index 0000000..138eb6c --- /dev/null +++ b/iTunesSearch/Entidades/Musica.m @@ -0,0 +1,13 @@ +// +// Musica.m +// iTunesSearch +// +// Created by Amanda Guimaraes Campos on 11/03/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Musica.h" + +@implementation Musica + +@end diff --git a/iTunesSearch/Entidades/Tv.h b/iTunesSearch/Entidades/Tv.h new file mode 100644 index 0000000..ad946d4 --- /dev/null +++ b/iTunesSearch/Entidades/Tv.h @@ -0,0 +1,21 @@ +// +// Tv.h +// iTunesSearch +// +// Created by Amanda Guimaraes Campos on 11/03/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Tv : NSObject + +@property (nonatomic, strong) NSString *nome; +@property (nonatomic, strong) NSString *trackId; +@property (nonatomic, strong) NSString *artista; +@property (nonatomic, strong) NSString *duracao; +@property (nonatomic, strong) NSString *genero; +@property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *ano; + +@end diff --git a/iTunesSearch/Entidades/Tv.m b/iTunesSearch/Entidades/Tv.m new file mode 100644 index 0000000..65d27a2 --- /dev/null +++ b/iTunesSearch/Entidades/Tv.m @@ -0,0 +1,13 @@ +// +// Tv.m +// iTunesSearch +// +// Created by Amanda Guimaraes Campos on 11/03/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Tv.h" + +@implementation Tv + +@end diff --git a/iTunesSearch/TableView.xib b/iTunesSearch/TableView.xib index 5934f60..0a23b15 100644 --- a/iTunesSearch/TableView.xib +++ b/iTunesSearch/TableView.xib @@ -1,5 +1,5 @@ - + @@ -8,6 +8,7 @@ + @@ -16,27 +17,8 @@ - - - - - - - - - - - - - - - - - - - - + @@ -61,6 +43,25 @@ + + + + + + + + + + + + + + + + + + + @@ -68,7 +69,7 @@ - + diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index 839ed75..e853ef3 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -1,5 +1,5 @@ - + @@ -14,36 +14,30 @@ - @@ -54,7 +48,6 @@ - @@ -64,14 +57,12 @@ - - @@ -94,7 +85,6 @@ - diff --git a/iTunesSearch/TableViewController.h b/iTunesSearch/TableViewController.h index 453734c..cad161a 100644 --- a/iTunesSearch/TableViewController.h +++ b/iTunesSearch/TableViewController.h @@ -14,6 +14,7 @@ @property (strong, nonatomic) IBOutlet UIView *view; @property (weak, nonatomic) IBOutlet UITextField *campoBusca; - (IBAction)pesquisar:(id)sender; +@property (weak, nonatomic) IBOutlet UIButton *traduzir; @property (strong, nonatomic) IBOutlet UITableView *tableview; @end diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index b92008e..9e79790 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -10,9 +10,12 @@ #import "TableViewCell.h" #import "iTunesManager.h" #import "Entidades/Filme.h" +#import "Entidades/Musica.h" +#import "Entidades/Tv.h" @interface TableViewController () { NSArray *midias; + NSArray *midia; } @end @@ -24,17 +27,20 @@ @implementation TableViewController - (void)viewDidLoad { [super viewDidLoad]; + UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil]; [self.tableview registerNib:nib forCellReuseIdentifier:@"celulaPadrao"]; iTunesManager *itunes = [iTunesManager sharedInstance]; - midias = [itunes buscarMidias:@"Apple"]; + midias = [itunes buscarMidias:@""]; [self.tableview setDelegate:self]; [self.tableview setDataSource:self]; #warning Necessario para que a table view tenha um espaco em relacao ao topo, pois caso contrario o texto ficara atras da barra superior self.tableview.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableview.bounds.size.width, 15.f)]; + [_traduzir setTitle:NSLocalizedString(@"search",@"traduzir" ) forState:UIControlStateNormal]; + } - (void)didReceiveMemoryWarning { @@ -45,36 +51,78 @@ - (void)didReceiveMemoryWarning { #pragma mark - Metodos do UITableViewDataSource -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; + return [midias count]; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return [midias count]; + return [[midias objectAtIndex:section]count]; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection: (NSInteger)section{ + + NSString *nomeSecao; + if (section==0) { + nomeSecao = @"Filme"; + } + else if (section==1){ + nomeSecao = @"Música"; + + } + else{ + nomeSecao = @"Tv"; + } + return nomeSecao; + } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { TableViewCell *celula = [self.tableview dequeueReusableCellWithIdentifier:@"celulaPadrao"]; - Filme *filme = [midias objectAtIndex:indexPath.row]; + midia =[[NSArray alloc] initWithArray:[midias objectAtIndex:indexPath.section]]; + // = [midias objectAtIndex:indexPath.row]; - [celula.nome setText:filme.nome]; - [celula.tipo setText:@"Filme"]; - [celula.genero setText:filme.genero]; - [celula.pais setText:filme.pais]; - [celula.ano setText:filme.ano]; + long row=[indexPath row]; + Filme *filme; + Musica *musica; + Tv *televisao; + + switch (indexPath.section) { + case 0: + filme = [midia objectAtIndex:row]; + [celula.nome setText:filme.nome]; + [celula.tipo setText:@"Filme"]; + [celula.genero setText:filme.genero]; + break; + case 1: + musica = [midia objectAtIndex:row]; + [celula.nome setText:musica.nomeAlbum]; + [celula.tipo setText:@"Musica"]; + [celula.genero setText:musica.genero]; + [celula.pais setText:musica.pais]; + break; + case 2: + televisao = [midia objectAtIndex:row]; + [celula.nome setText:televisao.nome]; + break; + default: + break; + } + return celula; } + -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - return 80; + return 100; } - (IBAction)pesquisar:(id)sender { iTunesManager *itunes = [iTunesManager sharedInstance]; - midias =[itunes buscarMidias:[NSString stringWithFormat:@"%@", self.campoBusca.text]]; + NSString *aux = [self.campoBusca.text stringByReplacingOccurrencesOfString:@" " withString:@"+"]; + midias =[itunes buscarMidias:[NSString stringWithFormat:@"%@", aux]]; [self resignFirstResponder]; [self.tableview reloadData]; [NSString stringWithFormat:@"%@", self.campoBusca.text = nil]; diff --git a/iTunesSearch/arquivoAuxiliarParaTraducao/en.xliff b/iTunesSearch/arquivoAuxiliarParaTraducao/en.xliff new file mode 100644 index 0000000..cc7285b --- /dev/null +++ b/iTunesSearch/arquivoAuxiliarParaTraducao/en.xliff @@ -0,0 +1,40 @@ + + + +
+ +
+ + + $(PRODUCT_NAME) + + + 1.0 + + +
+ +
+ +
+ + + search + traduzir + + +
+ +
+ +
+ + + $(PRODUCT_NAME) + + + 1.0 + + +
+
diff --git a/iTunesSearch/arquivoAuxiliarParaTraducao/fr.xliff b/iTunesSearch/arquivoAuxiliarParaTraducao/fr.xliff new file mode 100644 index 0000000..6a3e5e1 --- /dev/null +++ b/iTunesSearch/arquivoAuxiliarParaTraducao/fr.xliff @@ -0,0 +1,41 @@ + + + +
+ +
+ + + $(PRODUCT_NAME) + + + 1.0 + + +
+ +
+ +
+ + + search + Recherche + traduzir + + +
+ +
+ +
+ + + $(PRODUCT_NAME) + + + 1.0 + + +
+
diff --git a/iTunesSearch/arquivoAuxiliarParaTraducao/pt.xliff b/iTunesSearch/arquivoAuxiliarParaTraducao/pt.xliff new file mode 100644 index 0000000..a1eaf53 --- /dev/null +++ b/iTunesSearch/arquivoAuxiliarParaTraducao/pt.xliff @@ -0,0 +1,41 @@ + + + +
+ +
+ + + $(PRODUCT_NAME) + + + 1.0 + + +
+ +
+ +
+ + + search + buscar + traduzir + + +
+ +
+ +
+ + + $(PRODUCT_NAME) + + + 1.0 + + +
+
diff --git a/iTunesSearch/fr.lproj/InfoPlist.strings b/iTunesSearch/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000..dc62739 --- /dev/null +++ b/iTunesSearch/fr.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ \ No newline at end of file diff --git a/iTunesSearch/fr.lproj/Localizable.strings b/iTunesSearch/fr.lproj/Localizable.strings new file mode 100644 index 0000000..b531773 --- /dev/null +++ b/iTunesSearch/fr.lproj/Localizable.strings @@ -0,0 +1,3 @@ +/* traduzir */ +"search" = "Recherche"; + diff --git a/iTunesSearch/iTunesManager.m b/iTunesSearch/iTunesManager.m index 8c41185..cab79c1 100644 --- a/iTunesSearch/iTunesManager.m +++ b/iTunesSearch/iTunesManager.m @@ -8,6 +8,8 @@ #import "iTunesManager.h" #import "Entidades/Filme.h" +#import "Entidades/Musica.h" +#import "Entidades/Tv.h" @implementation iTunesManager @@ -17,6 +19,7 @@ @implementation iTunesManager #pragma mark - Public Method + + (id)sharedInstance { static dispatch_once_t onceToken; @@ -34,45 +37,74 @@ - (NSArray *)buscarMidias:(NSString *)termo { termo = @""; } - NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/search?term=%@&media=movie", termo]; - NSData *jsonData = [NSData dataWithContentsOfURL: [NSURL URLWithString:url]]; + NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/search?term=%@&media=all", termo]; + NSData *jsonData = [NSData dataWithContentsOfURL: [NSURL URLWithString:url]]; NSError *error; - NSDictionary *resultado = [NSJSONSerialization JSONObjectWithData:jsonData - options:NSJSONReadingMutableContainers - error:&error]; + NSDictionary *resultado = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; + + NSArray *resultados = [resultado objectForKey:@"results"]; + NSString *tipo; + NSMutableArray *musicas = [[NSMutableArray alloc]init]; + NSMutableArray *filmes = [[NSMutableArray alloc] init]; + NSMutableArray *tvs = [[NSMutableArray alloc]init]; + + if (error) { NSLog(@"Não foi possível fazer a busca. ERRO: %@", error); return nil; } - NSArray *resultados = [resultado objectForKey:@"results"]; - NSMutableArray *filmes = [[NSMutableArray alloc] init]; for (NSDictionary *item in resultados) { - Filme *filme = [[Filme alloc] init]; - [filme setNome:[item objectForKey:@"trackName"]]; - [filme setTrackId:[item objectForKey:@"trackId"]]; - [filme setArtista:[item objectForKey:@"artistName"]]; - [filme setDuracao:[item objectForKey:@"trackTimeMillis"]]; - [filme setGenero:[item objectForKey:@"primaryGenreName"]]; - [filme setPais:[item objectForKey:@"country"]]; - [filme setAno:[item objectForKey:@"releaseDate"]]; - [filmes addObject:filme]; + tipo = [item objectForKey:@"kind"]; + if([tipo isEqualToString:@"song"]){ + + Musica *musica = [[Musica alloc]init]; + [musica setNomeArtista:[item objectForKey:@"artistNAme"]]; + [musica setNomeAlbum:[item objectForKey:@"collectionName"]]; + [musica setGenero:[item objectForKey:@"primaryGenreName"]]; + [musica setPrecoDaColecao:[item objectForKey:@"collectionPrice"]]; + [musica setPais:[item objectForKey:@"country"]]; + [musicas addObject:musica]; + + + } + if([tipo isEqualToString:@"feature-movie"]){ + //@"featured-movie" + Filme *filme = [[Filme alloc] init]; + [filme setNome:[item objectForKey:@"trackName"]]; + [filme setTrackId:[item objectForKey:@"trackId"]]; + [filme setArtista:[item objectForKey:@"artistName"]]; + [filme setDuracao:[item objectForKey:@"trackTimeMillis"]]; + [filme setGenero:[item objectForKey:@"primaryGenreName"]]; + [filme setPais:[item objectForKey:@"country"]]; + [filme setAno:[item objectForKey:@"releaseDate"]]; + [filmes addObject:filme]; + + } + + if ([tipo isEqualToString:@"podcast"]) { + Tv *televisao = [[Tv alloc]init]; + [televisao setNome:[item objectForKey:@"trackName"]]; + [tvs addObject:televisao]; + + } + } + NSArray *midia = [[NSArray alloc] initWithObjects: filmes, musicas, tvs, nil]; + return midia; + } - - return filmes; -} #pragma mark - Life Cycle -+ (id) allocWithZone:(NSZone *)zone ++ (id)allocWithZone:(NSZone *)zone { - return [self sharedInstance]; + return [self sharedInstance]; } + (id)copyWithZone:(struct _NSZone *)zone @@ -107,5 +139,4 @@ - (id) init return self; } - @end diff --git a/iTunesSearch/pt.lproj/InfoPlist.strings b/iTunesSearch/pt.lproj/InfoPlist.strings new file mode 100644 index 0000000..dc62739 --- /dev/null +++ b/iTunesSearch/pt.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ \ No newline at end of file diff --git a/iTunesSearch/pt.lproj/Localizable.strings b/iTunesSearch/pt.lproj/Localizable.strings new file mode 100644 index 0000000..2d3e257 --- /dev/null +++ b/iTunesSearch/pt.lproj/Localizable.strings @@ -0,0 +1,3 @@ +/* traduzir */ +"search" = "buscar"; + diff --git a/iTunesSearchTests/fr.lproj/InfoPlist.strings b/iTunesSearchTests/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000..dc62739 --- /dev/null +++ b/iTunesSearchTests/fr.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ \ No newline at end of file diff --git a/iTunesSearchTests/pt.lproj/InfoPlist.strings b/iTunesSearchTests/pt.lproj/InfoPlist.strings new file mode 100644 index 0000000..dc62739 --- /dev/null +++ b/iTunesSearchTests/pt.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ \ No newline at end of file