From 0cab73248b3361f1e1280d1e6fb5f09221a9089a Mon Sep 17 00:00:00 2001 From: Fernando Baptista Date: Tue, 10 Mar 2015 16:38:14 -0300 Subject: [PATCH 1/6] Bronze 1 --- iTunesSearch/Entidades/Filme.h | 2 +- iTunesSearch/TableViewCell.h | 4 ++++ iTunesSearch/TableViewCell.xib | 37 ++++++++++++++++++++++++++---- iTunesSearch/TableViewController.m | 4 +++- 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/iTunesSearch/Entidades/Filme.h b/iTunesSearch/Entidades/Filme.h index eb126dc..7113e9c 100644 --- a/iTunesSearch/Entidades/Filme.h +++ b/iTunesSearch/Entidades/Filme.h @@ -13,7 +13,7 @@ @property (nonatomic, strong) NSString *nome; @property (nonatomic, strong) NSString *trackId; @property (nonatomic, strong) NSString *artista; -@property (nonatomic, strong) NSString *duracao; +@property (nonatomic, strong) NSNumber *duracao; @property (nonatomic, strong) NSString *genero; @property (nonatomic, strong) NSString *pais; diff --git a/iTunesSearch/TableViewCell.h b/iTunesSearch/TableViewCell.h index b630349..6ad9937 100644 --- a/iTunesSearch/TableViewCell.h +++ b/iTunesSearch/TableViewCell.h @@ -12,6 +12,10 @@ @property (weak, nonatomic) IBOutlet UILabel *nome; @property (weak, nonatomic) IBOutlet UILabel *tipo; +@property (weak, nonatomic) IBOutlet UILabel *artista; +@property (weak, nonatomic) IBOutlet UILabel *pais; +@property (weak, nonatomic) IBOutlet UILabel *duracao; + @end diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index bf8bd3f..e73f999 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -1,5 +1,5 @@ - + @@ -7,15 +7,15 @@ - - + + + + + + + + + + + + + + - + diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index f689980..7f19483 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -56,7 +56,9 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS [celula.nome setText:filme.nome]; [celula.tipo setText:@"Filme"]; - + [celula.artista setText:filme.artista]; + [celula.pais setText:filme.pais]; + [celula.duracao setText:[filme.duracao stringValue]]; return celula; } From c2f5da78e9a99391ed51f0870d20bc598e16438f Mon Sep 17 00:00:00 2001 From: Fernando Baptista Date: Tue, 10 Mar 2015 17:08:20 -0300 Subject: [PATCH 2/6] 2 e 3 (Bronze) --- iTunesSearch.xcodeproj/project.pbxproj | 21 +++++++++++++++++---- iTunesSearch/TableView.xib | 25 ------------------------- iTunesSearch/TableViewController.h | 3 +++ iTunesSearch/TableViewController.m | 19 +++++++++++++++---- iTunesSearch/pt.lproj/TableView.strings | 3 +++ 5 files changed, 38 insertions(+), 33 deletions(-) delete mode 100644 iTunesSearch/TableView.xib create mode 100644 iTunesSearch/pt.lproj/TableView.strings diff --git a/iTunesSearch.xcodeproj/project.pbxproj b/iTunesSearch.xcodeproj/project.pbxproj index 79e06d7..d763c04 100644 --- a/iTunesSearch.xcodeproj/project.pbxproj +++ b/iTunesSearch.xcodeproj/project.pbxproj @@ -13,10 +13,10 @@ 92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 92C21CC01AAE757A0052ABE6 /* Images.xcassets */; }; 92C21CD01AAE757A0052ABE6 /* iTunesSearchTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CCF1AAE757A0052ABE6 /* iTunesSearchTests.m */; }; 92C21CDB1AAE75B30052ABE6 /* iTunesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */; }; - 92C21CDD1AAE75DC0052ABE6 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 92C21CDC1AAE75DC0052ABE6 /* TableView.xib */; }; 92C21CE11AAE76930052ABE6 /* TableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CDF1AAE76930052ABE6 /* TableViewCell.m */; }; 92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 92C21CE01AAE76930052ABE6 /* TableViewCell.xib */; }; 92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CE71AAE858E0052ABE6 /* Filme.m */; }; + D45A99D91AAF85980020E5C2 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D45A99DB1AAF85980020E5C2 /* TableView.xib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -43,12 +43,13 @@ 92C21CCF1AAE757A0052ABE6 /* iTunesSearchTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iTunesSearchTests.m; sourceTree = ""; }; 92C21CD91AAE75B30052ABE6 /* iTunesManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iTunesManager.h; sourceTree = ""; }; 92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iTunesManager.m; sourceTree = ""; }; - 92C21CDC1AAE75DC0052ABE6 /* TableView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TableView.xib; sourceTree = ""; }; 92C21CDE1AAE76930052ABE6 /* TableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableViewCell.h; sourceTree = ""; }; 92C21CDF1AAE76930052ABE6 /* TableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableViewCell.m; sourceTree = ""; }; 92C21CE01AAE76930052ABE6 /* TableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TableViewCell.xib; sourceTree = ""; }; 92C21CE61AAE858E0052ABE6 /* Filme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Filme.h; path = Entidades/Filme.h; sourceTree = ""; }; 92C21CE71AAE858E0052ABE6 /* Filme.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Filme.m; path = Entidades/Filme.m; sourceTree = ""; }; + D45A99DA1AAF85980020E5C2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TableView.xib; sourceTree = ""; }; + D45A99DC1AAF85AD0020E5C2 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/TableView.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -96,7 +97,7 @@ 92C21CB81AAE757A0052ABE6 /* AppDelegate.m */, 92C21CBA1AAE757A0052ABE6 /* TableViewController.h */, 92C21CBB1AAE757A0052ABE6 /* TableViewController.m */, - 92C21CDC1AAE75DC0052ABE6 /* TableView.xib */, + D45A99DB1AAF85980020E5C2 /* TableView.xib */, 92C21CD91AAE75B30052ABE6 /* iTunesManager.h */, 92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */, 92C21CC01AAE757A0052ABE6 /* Images.xcassets */, @@ -232,7 +233,7 @@ files = ( 92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */, 92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */, - 92C21CDD1AAE75DC0052ABE6 /* TableView.xib in Resources */, + D45A99D91AAF85980020E5C2 /* TableView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -277,6 +278,18 @@ }; /* End PBXTargetDependency section */ +/* Begin PBXVariantGroup section */ + D45A99DB1AAF85980020E5C2 /* TableView.xib */ = { + isa = PBXVariantGroup; + children = ( + D45A99DA1AAF85980020E5C2 /* Base */, + D45A99DC1AAF85AD0020E5C2 /* pt */, + ); + name = TableView.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 92C21CD11AAE757A0052ABE6 /* Debug */ = { isa = XCBuildConfiguration; diff --git a/iTunesSearch/TableView.xib b/iTunesSearch/TableView.xib deleted file mode 100644 index 55f128c..0000000 --- a/iTunesSearch/TableView.xib +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/iTunesSearch/TableViewController.h b/iTunesSearch/TableViewController.h index 0cbb5c4..eae67b0 100644 --- a/iTunesSearch/TableViewController.h +++ b/iTunesSearch/TableViewController.h @@ -12,6 +12,9 @@ @property (strong, nonatomic) IBOutlet UITableView *tableview; +@property (weak, nonatomic) IBOutlet UISearchBar *search; + +- (IBAction)buscar:(id)sender; @end diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index 7f19483..9637009 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -19,6 +19,8 @@ @interface TableViewController () { @implementation TableViewController +@synthesize search; +iTunesManager *itunes; - (void)viewDidLoad { @@ -26,12 +28,12 @@ - (void)viewDidLoad { UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil]; [self.tableview registerNib:nib forCellReuseIdentifier:@"celulaPadrao"]; + [search setDelegate:self]; - iTunesManager *itunes = [iTunesManager sharedInstance]; - midias = [itunes buscarMidias:@"Apple"]; + itunes = [iTunesManager sharedInstance]; + -#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)]; + } - (void)didReceiveMemoryWarning { @@ -66,5 +68,14 @@ -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPat return 70; } +- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar +{ + midias = [itunes buscarMidias:searchBar.text]; + [self.tableview reloadData]; +} +- (IBAction)buscar:(id)sender { + midias = [itunes buscarMidias:search.text]; + [self.tableview reloadData]; +} @end diff --git a/iTunesSearch/pt.lproj/TableView.strings b/iTunesSearch/pt.lproj/TableView.strings new file mode 100644 index 0000000..8e31c67 --- /dev/null +++ b/iTunesSearch/pt.lproj/TableView.strings @@ -0,0 +1,3 @@ + +/* Class = "UIButton"; normalTitle = "Procurar"; ObjectID = "5WQ-PH-NlX"; */ +"5WQ-PH-NlX.normalTitle" = "Procurar"; From b7fed2e1280c7e7d1e0f4adc2010f229293f2d5a Mon Sep 17 00:00:00 2001 From: Fernando Baptista Date: Tue, 10 Mar 2015 17:36:11 -0300 Subject: [PATCH 3/6] Prata 1 --- iTunesSearch.xcodeproj/project.pbxproj | 19 +++++++++++++++++++ iTunesSearch/Entidades/Filme.h | 1 + iTunesSearch/TableViewController.m | 2 +- iTunesSearch/fr.lproj/TableView.strings | 3 +++ iTunesSearch/iTunesManager.m | 3 ++- 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 iTunesSearch/fr.lproj/TableView.strings diff --git a/iTunesSearch.xcodeproj/project.pbxproj b/iTunesSearch.xcodeproj/project.pbxproj index d763c04..64eb24e 100644 --- a/iTunesSearch.xcodeproj/project.pbxproj +++ b/iTunesSearch.xcodeproj/project.pbxproj @@ -17,6 +17,7 @@ 92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 92C21CE01AAE76930052ABE6 /* TableViewCell.xib */; }; 92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CE71AAE858E0052ABE6 /* Filme.m */; }; D45A99D91AAF85980020E5C2 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D45A99DB1AAF85980020E5C2 /* TableView.xib */; }; + D45A99E01AAF89A80020E5C2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D45A99E21AAF89A80020E5C2 /* Localizable.strings */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -50,6 +51,10 @@ 92C21CE71AAE858E0052ABE6 /* Filme.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Filme.m; path = Entidades/Filme.m; sourceTree = ""; }; D45A99DA1AAF85980020E5C2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TableView.xib; sourceTree = ""; }; D45A99DC1AAF85AD0020E5C2 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/TableView.strings; sourceTree = ""; }; + D45A99DD1AAF871C0020E5C2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/TableView.strings; sourceTree = ""; }; + D45A99E11AAF89A80020E5C2 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = ""; }; + D45A99E31AAF89AB0020E5C2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + D45A99E41AAF89AC0020E5C2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -73,6 +78,7 @@ 92C21CA71AAE757A0052ABE6 = { isa = PBXGroup; children = ( + D45A99E21AAF89A80020E5C2 /* Localizable.strings */, 92C21CB21AAE757A0052ABE6 /* iTunesSearch */, 92C21CCC1AAE757A0052ABE6 /* iTunesSearchTests */, 92C21CB11AAE757A0052ABE6 /* Products */, @@ -214,6 +220,7 @@ knownRegions = ( en, Base, + fr, ); mainGroup = 92C21CA71AAE757A0052ABE6; productRefGroup = 92C21CB11AAE757A0052ABE6 /* Products */; @@ -233,6 +240,7 @@ files = ( 92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */, 92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */, + D45A99E01AAF89A80020E5C2 /* Localizable.strings in Resources */, D45A99D91AAF85980020E5C2 /* TableView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -284,10 +292,21 @@ children = ( D45A99DA1AAF85980020E5C2 /* Base */, D45A99DC1AAF85AD0020E5C2 /* pt */, + D45A99DD1AAF871C0020E5C2 /* fr */, ); name = TableView.xib; sourceTree = ""; }; + D45A99E21AAF89A80020E5C2 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + D45A99E11AAF89A80020E5C2 /* pt */, + D45A99E31AAF89AB0020E5C2 /* fr */, + D45A99E41AAF89AC0020E5C2 /* en */, + ); + name = Localizable.strings; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ diff --git a/iTunesSearch/Entidades/Filme.h b/iTunesSearch/Entidades/Filme.h index 7113e9c..41d5c0d 100644 --- a/iTunesSearch/Entidades/Filme.h +++ b/iTunesSearch/Entidades/Filme.h @@ -16,5 +16,6 @@ @property (nonatomic, strong) NSNumber *duracao; @property (nonatomic, strong) NSString *genero; @property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *tipo; @end diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index 9637009..75ea4c5 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -57,7 +57,7 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS Filme *filme = [midias objectAtIndex:indexPath.row]; [celula.nome setText:filme.nome]; - [celula.tipo setText:@"Filme"]; + [celula.tipo setText:NSLocalizedString(filme.tipo,nil)]; [celula.artista setText:filme.artista]; [celula.pais setText:filme.pais]; [celula.duracao setText:[filme.duracao stringValue]]; diff --git a/iTunesSearch/fr.lproj/TableView.strings b/iTunesSearch/fr.lproj/TableView.strings new file mode 100644 index 0000000..b95ec58 --- /dev/null +++ b/iTunesSearch/fr.lproj/TableView.strings @@ -0,0 +1,3 @@ + +/* Class = "UIButton"; normalTitle = "Search"; ObjectID = "5WQ-PH-NlX"; */ +"5WQ-PH-NlX.normalTitle" = "Recherche"; diff --git a/iTunesSearch/iTunesManager.m b/iTunesSearch/iTunesManager.m index e2babda..b9ffda6 100644 --- a/iTunesSearch/iTunesManager.m +++ b/iTunesSearch/iTunesManager.m @@ -34,7 +34,7 @@ - (NSArray *)buscarMidias:(NSString *)termo { termo = @""; } - NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/search?term=%@&media=movie", termo]; + NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/search?term=%@&media=all", termo]; NSData *jsonData = [NSData dataWithContentsOfURL: [NSURL URLWithString:url]]; NSError *error; @@ -57,6 +57,7 @@ - (NSArray *)buscarMidias:(NSString *)termo { [filme setDuracao:[item objectForKey:@"trackTimeMillis"]]; [filme setGenero:[item objectForKey:@"primaryGenreName"]]; [filme setPais:[item objectForKey:@"country"]]; + [filme setTipo:[item objectForKey:@"kind"]]; [filmes addObject:filme]; } From 749419d5de556629988f12a3c357fa7ce8fb33be Mon Sep 17 00:00:00 2001 From: Fernando Baptista Date: Thu, 12 Mar 2015 18:32:44 -0300 Subject: [PATCH 4/6] prata 2 --- iTunesSearch.xcodeproj/project.pbxproj | 12 ++++ iTunesSearch/Entidades/Music.h | 23 +++++++ iTunesSearch/Entidades/Music.m | 14 ++++ iTunesSearch/Entidades/Podcasts.h | 22 ++++++ iTunesSearch/Entidades/Podcasts.m | 15 +++++ iTunesSearch/TableViewCell.xib | 16 ++--- iTunesSearch/TableViewController.m | 93 +++++++++++++++++++++++--- iTunesSearch/iTunesManager.m | 66 +++++++++++++++--- 8 files changed, 231 insertions(+), 30 deletions(-) create mode 100644 iTunesSearch/Entidades/Music.h create mode 100644 iTunesSearch/Entidades/Music.m create mode 100644 iTunesSearch/Entidades/Podcasts.h create mode 100644 iTunesSearch/Entidades/Podcasts.m diff --git a/iTunesSearch.xcodeproj/project.pbxproj b/iTunesSearch.xcodeproj/project.pbxproj index 64eb24e..0b3379c 100644 --- a/iTunesSearch.xcodeproj/project.pbxproj +++ b/iTunesSearch.xcodeproj/project.pbxproj @@ -18,6 +18,8 @@ 92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C21CE71AAE858E0052ABE6 /* Filme.m */; }; D45A99D91AAF85980020E5C2 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D45A99DB1AAF85980020E5C2 /* TableView.xib */; }; D45A99E01AAF89A80020E5C2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D45A99E21AAF89A80020E5C2 /* Localizable.strings */; }; + D45A99E71AB0C43D0020E5C2 /* Music.m in Sources */ = {isa = PBXBuildFile; fileRef = D45A99E61AB0C43D0020E5C2 /* Music.m */; }; + D45A99EA1AB0C4B90020E5C2 /* Podcasts.m in Sources */ = {isa = PBXBuildFile; fileRef = D45A99E91AB0C4B90020E5C2 /* Podcasts.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -55,6 +57,10 @@ D45A99E11AAF89A80020E5C2 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = ""; }; D45A99E31AAF89AB0020E5C2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; D45A99E41AAF89AC0020E5C2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + D45A99E51AB0C43D0020E5C2 /* Music.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Music.h; path = Entidades/Music.h; sourceTree = ""; }; + D45A99E61AB0C43D0020E5C2 /* Music.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Music.m; path = Entidades/Music.m; sourceTree = ""; }; + D45A99E81AB0C4B90020E5C2 /* Podcasts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Podcasts.h; path = Entidades/Podcasts.h; sourceTree = ""; }; + D45A99E91AB0C4B90020E5C2 /* Podcasts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Podcasts.m; path = Entidades/Podcasts.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -153,6 +159,10 @@ children = ( 92C21CE61AAE858E0052ABE6 /* Filme.h */, 92C21CE71AAE858E0052ABE6 /* Filme.m */, + D45A99E51AB0C43D0020E5C2 /* Music.h */, + D45A99E61AB0C43D0020E5C2 /* Music.m */, + D45A99E81AB0C4B90020E5C2 /* Podcasts.h */, + D45A99E91AB0C4B90020E5C2 /* Podcasts.m */, ); name = Entidades; sourceTree = ""; @@ -259,11 +269,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + D45A99E71AB0C43D0020E5C2 /* Music.m in Sources */, 92C21CBC1AAE757A0052ABE6 /* TableViewController.m in Sources */, 92C21CDB1AAE75B30052ABE6 /* iTunesManager.m in Sources */, 92C21CB91AAE757A0052ABE6 /* AppDelegate.m in Sources */, 92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */, 92C21CE11AAE76930052ABE6 /* TableViewCell.m in Sources */, + D45A99EA1AB0C4B90020E5C2 /* Podcasts.m in Sources */, 92C21CB61AAE757A0052ABE6 /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/iTunesSearch/Entidades/Music.h b/iTunesSearch/Entidades/Music.h new file mode 100644 index 0000000..c7bb96c --- /dev/null +++ b/iTunesSearch/Entidades/Music.h @@ -0,0 +1,23 @@ +// +// Music.h +// iTunesSearch +// +// Created by Fernando on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Music : NSObject + +@property (nonatomic, strong) NSString *nome; +@property (nonatomic, strong) NSString *trackId; +@property (nonatomic, strong) NSString *artista; +@property (nonatomic, strong) NSNumber *duracao; +@property (nonatomic, strong) NSString *genero; +@property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *tipo; + + + +@end diff --git a/iTunesSearch/Entidades/Music.m b/iTunesSearch/Entidades/Music.m new file mode 100644 index 0000000..57d90dd --- /dev/null +++ b/iTunesSearch/Entidades/Music.m @@ -0,0 +1,14 @@ +// +// Music.m +// iTunesSearch +// +// Created by Fernando on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Music.h" + +@implementation Music + + +@end diff --git a/iTunesSearch/Entidades/Podcasts.h b/iTunesSearch/Entidades/Podcasts.h new file mode 100644 index 0000000..98aa7cb --- /dev/null +++ b/iTunesSearch/Entidades/Podcasts.h @@ -0,0 +1,22 @@ +// +// Podcasts.h +// iTunesSearch +// +// Created by Fernando on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Podcasts : NSObject + +@property (nonatomic, strong) NSString *nome; +@property (nonatomic, strong) NSString *trackId; +@property (nonatomic, strong) NSString *artista; +@property (nonatomic, strong) NSNumber *duracao; +@property (nonatomic, strong) NSString *genero; +@property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *tipo; + + +@end diff --git a/iTunesSearch/Entidades/Podcasts.m b/iTunesSearch/Entidades/Podcasts.m new file mode 100644 index 0000000..97da76d --- /dev/null +++ b/iTunesSearch/Entidades/Podcasts.m @@ -0,0 +1,15 @@ +// +// Podcasts.m +// iTunesSearch +// +// Created by Fernando on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Podcasts.h" + +@implementation Podcasts + + + +@end diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index e73f999..41434bc 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -15,31 +15,31 @@ - diff --git a/iTunesSearch/Entidades/Filme.h b/iTunesSearch/Entidades/Filme.h index 41d5c0d..e921618 100644 --- a/iTunesSearch/Entidades/Filme.h +++ b/iTunesSearch/Entidades/Filme.h @@ -7,15 +7,10 @@ // #import +#import "Mae.h" + +@interface Filme : Mae -@interface Filme : NSObject -@property (nonatomic, strong) NSString *nome; -@property (nonatomic, strong) NSString *trackId; -@property (nonatomic, strong) NSString *artista; -@property (nonatomic, strong) NSNumber *duracao; -@property (nonatomic, strong) NSString *genero; -@property (nonatomic, strong) NSString *pais; -@property (nonatomic, strong) NSString *tipo; @end diff --git a/iTunesSearch/Entidades/Mae.h b/iTunesSearch/Entidades/Mae.h new file mode 100644 index 0000000..6540dfa --- /dev/null +++ b/iTunesSearch/Entidades/Mae.h @@ -0,0 +1,23 @@ +// +// Mae.h +// iTunesSearch +// +// Created by Fernando on 3/13/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Mae : NSObject + +@property (nonatomic, strong) NSString *nome; +@property (nonatomic, strong) NSString *trackId; +@property (nonatomic, strong) NSString *artista; +@property (nonatomic, strong) NSNumber *duracao; +@property (nonatomic, strong) NSString *genero; +@property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSString *tipo; +@property (nonatomic, strong) NSString *img; + + +@end diff --git a/iTunesSearch/Entidades/Mae.m b/iTunesSearch/Entidades/Mae.m new file mode 100644 index 0000000..604b794 --- /dev/null +++ b/iTunesSearch/Entidades/Mae.m @@ -0,0 +1,13 @@ +// +// Mae.m +// iTunesSearch +// +// Created by Fernando on 3/13/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Mae.h" + +@implementation Mae + +@end diff --git a/iTunesSearch/Entidades/Music.h b/iTunesSearch/Entidades/Music.h index c7bb96c..b0c3852 100644 --- a/iTunesSearch/Entidades/Music.h +++ b/iTunesSearch/Entidades/Music.h @@ -7,16 +7,10 @@ // #import +#import "Mae.h" -@interface Music : NSObject +@interface Music : Mae -@property (nonatomic, strong) NSString *nome; -@property (nonatomic, strong) NSString *trackId; -@property (nonatomic, strong) NSString *artista; -@property (nonatomic, strong) NSNumber *duracao; -@property (nonatomic, strong) NSString *genero; -@property (nonatomic, strong) NSString *pais; -@property (nonatomic, strong) NSString *tipo; diff --git a/iTunesSearch/Entidades/Podcasts.h b/iTunesSearch/Entidades/Podcasts.h index 98aa7cb..2d08adb 100644 --- a/iTunesSearch/Entidades/Podcasts.h +++ b/iTunesSearch/Entidades/Podcasts.h @@ -7,16 +7,10 @@ // #import +#import "Mae.h" +@interface Podcasts : Mae -@interface Podcasts : NSObject -@property (nonatomic, strong) NSString *nome; -@property (nonatomic, strong) NSString *trackId; -@property (nonatomic, strong) NSString *artista; -@property (nonatomic, strong) NSNumber *duracao; -@property (nonatomic, strong) NSString *genero; -@property (nonatomic, strong) NSString *pais; -@property (nonatomic, strong) NSString *tipo; @end diff --git a/iTunesSearch/TableViewCell.h b/iTunesSearch/TableViewCell.h index 6ad9937..42a4d95 100644 --- a/iTunesSearch/TableViewCell.h +++ b/iTunesSearch/TableViewCell.h @@ -13,9 +13,10 @@ @property (weak, nonatomic) IBOutlet UILabel *nome; @property (weak, nonatomic) IBOutlet UILabel *tipo; @property (weak, nonatomic) IBOutlet UILabel *artista; +@property (weak, nonatomic) IBOutlet UIImageView *imageView; @property (weak, nonatomic) IBOutlet UILabel *pais; -@property (weak, nonatomic) IBOutlet UILabel *duracao; - +//@property (weak, nonatomic) IBOutlet UILabel *duracao; +-(void) carregaImagens:(NSString *)url; @end diff --git a/iTunesSearch/TableViewCell.m b/iTunesSearch/TableViewCell.m index ffac89c..3780dbf 100644 --- a/iTunesSearch/TableViewCell.m +++ b/iTunesSearch/TableViewCell.m @@ -9,6 +9,7 @@ #import "TableViewCell.h" @implementation TableViewCell +@synthesize imageView; - (void)awakeFromNib { // Initialization code @@ -20,4 +21,12 @@ - (void)setSelected:(BOOL)selected animated:(BOOL)animated { // Configure the view for the selected state } +-(void) carregaImagens:(NSString *)url +{ + NSData * imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:url]]; + UIImage *image = [[UIImage alloc] initWithData:imageData]; + imageView.image = image; + +} + @end diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index 41434bc..0ad184c 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -14,55 +14,81 @@ - + + - + + + + + + + + + - + + + + + + + + + + + + + + + + - + diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index 1a542f6..e724399 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -12,6 +12,7 @@ #import "Entidades/Filme.h" #import "Entidades/Podcasts.h" #import "Entidades/Music.h" +#import "Desc.h" @interface TableViewController () { NSArray *midias; @@ -48,7 +49,31 @@ - (void)didReceiveMemoryWarning { #pragma mark - Metodos do UITableViewDataSource -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { //NSUInteger qtd = midias.count; - return 3; + + return [midias count]; +} + +-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + + + Desc *dView = [[Desc alloc]init]; + + if (indexPath.section == 0){ + Podcasts *x = [[midias objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]; + [self.navigationController pushViewController:dView animated:YES]; + dView.m = x; + } + if (indexPath.section == 1){ + Filme *x = [[midias objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]; + [self.navigationController pushViewController:dView animated:YES]; + dView.m = x; + } + if (indexPath.section == 0){ + Music *x = [[midias objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]; + [self.navigationController pushViewController:dView animated:YES]; + dView.m = x; + } + } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { @@ -82,7 +107,8 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS [celula.tipo setText:NSLocalizedString(podcast.tipo,nil)]; [celula.artista setText:podcast.artista]; [celula.pais setText:podcast.pais]; - [celula.duracao setText:[podcast.duracao stringValue]]; + [celula carregaImagens:podcast.img]; + // [celula.duracao setText:[podcast.duracao stringValue]]; } if (indexPath.section == 1){ @@ -93,7 +119,8 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS [celula.tipo setText:NSLocalizedString(filme.tipo,nil)]; [celula.artista setText:filme.artista]; [celula.pais setText:filme.pais]; - [celula.duracao setText:[filme.duracao stringValue]]; + [celula carregaImagens:filme.img]; + // [celula.duracao setText:[filme.duracao stringValue]]; } if (indexPath.section == 2){ @@ -104,7 +131,8 @@ -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS [celula.tipo setText:NSLocalizedString(music.tipo,nil)]; [celula.artista setText:music.artista]; [celula.pais setText:music.pais]; - [celula.duracao setText:[music.duracao stringValue]]; + [celula carregaImagens:music.img]; + //[celula.duracao setText:[music.duracao stringValue]]; } diff --git a/iTunesSearch/iTunesManager.m b/iTunesSearch/iTunesManager.m index f7bde64..00c5465 100644 --- a/iTunesSearch/iTunesManager.m +++ b/iTunesSearch/iTunesManager.m @@ -71,6 +71,7 @@ - (NSArray *)buscarMidias:(NSString *)termo { [filme setGenero:[item objectForKey:@"primaryGenreName"]]; [filme setPais:[item objectForKey:@"country"]]; [filme setTipo:[item objectForKey:@"kind"]]; + [filme setImg:[item objectForKey:@"artworkUrl100"]]; [filmes addObject:filme]; } @@ -84,6 +85,7 @@ - (NSArray *)buscarMidias:(NSString *)termo { [musica setGenero:[item objectForKey:@"primaryGenreName"]]; [musica setPais:[item objectForKey:@"country"]]; [musica setTipo:[item objectForKey:@"kind"]]; + [musica setImg:[item objectForKey:@"artworkUrl100"]]; [musicas addObject:musica]; } @@ -98,12 +100,14 @@ - (NSArray *)buscarMidias:(NSString *)termo { [podcast setGenero:[item objectForKey:@"primaryGenreName"]]; [podcast setPais:[item objectForKey:@"country"]]; [podcast setTipo:[item objectForKey:@"kind"]]; + [podcast setImg:[item objectForKey:@"artworkUrl100"]]; [podcasts addObject:podcast]; } } + NSArray *midiasArray = [[NSArray alloc]initWithObjects:podcasts,filmes,musicas, nil]; return midiasArray; }