diff --git a/iTunesSearch.xcodeproj/project.pbxproj b/iTunesSearch.xcodeproj/project.pbxproj index 79e06d7..4a3d927 100644 --- a/iTunesSearch.xcodeproj/project.pbxproj +++ b/iTunesSearch.xcodeproj/project.pbxproj @@ -13,10 +13,15 @@ 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 */; }; + E8D671CF1AB0C70F0077A631 /* Podcast.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D671CE1AB0C70F0077A631 /* Podcast.m */; }; + E8D671D21AB0C71C0077A631 /* Ebook.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D671D11AB0C71C0077A631 /* Ebook.m */; }; + E8D671D51AB0C9D60077A631 /* Musica.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D671D41AB0C9D60077A631 /* Musica.m */; }; + E8EB46A61AB3508C003F5198 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E8EB46A81AB3508C003F5198 /* TableView.xib */; }; + E8EB46B11AB35599003F5198 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EB46AF1AB35599003F5198 /* DetailViewController.m */; }; + E8EB46B21AB35599003F5198 /* DetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E8EB46B01AB35599003F5198 /* DetailViewController.xib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -43,12 +48,24 @@ 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 = ""; }; + E8D671CD1AB0C70F0077A631 /* Podcast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Podcast.h; sourceTree = ""; }; + E8D671CE1AB0C70F0077A631 /* Podcast.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Podcast.m; sourceTree = ""; }; + E8D671D01AB0C71C0077A631 /* Ebook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ebook.h; sourceTree = ""; }; + E8D671D11AB0C71C0077A631 /* Ebook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Ebook.m; sourceTree = ""; }; + E8D671D31AB0C9D60077A631 /* Musica.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Musica.h; sourceTree = ""; }; + E8D671D41AB0C9D60077A631 /* Musica.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Musica.m; sourceTree = ""; }; + E8EB46A71AB3508C003F5198 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TableView.xib; sourceTree = ""; }; + E8EB46AA1AB35090003F5198 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/TableView.strings; sourceTree = ""; }; + E8EB46AB1AB3509F003F5198 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/TableView.strings; sourceTree = ""; }; + E8EB46AC1AB350A8003F5198 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/TableView.strings; sourceTree = ""; }; + E8EB46AE1AB35599003F5198 /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; }; + E8EB46AF1AB35599003F5198 /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; }; + E8EB46B01AB35599003F5198 /* DetailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DetailViewController.xib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -90,13 +107,14 @@ 92C21CB21AAE757A0052ABE6 /* iTunesSearch */ = { isa = PBXGroup; children = ( + E8EB46AD1AB3557C003F5198 /* Details */, 92C21CE31AAE76AA0052ABE6 /* Celulas */, 92C21CE91AAE859A0052ABE6 /* Entidades */, 92C21CB71AAE757A0052ABE6 /* AppDelegate.h */, 92C21CB81AAE757A0052ABE6 /* AppDelegate.m */, 92C21CBA1AAE757A0052ABE6 /* TableViewController.h */, 92C21CBB1AAE757A0052ABE6 /* TableViewController.m */, - 92C21CDC1AAE75DC0052ABE6 /* TableView.xib */, + E8EB46A81AB3508C003F5198 /* TableView.xib */, 92C21CD91AAE75B30052ABE6 /* iTunesManager.h */, 92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */, 92C21CC01AAE757A0052ABE6 /* Images.xcassets */, @@ -146,10 +164,26 @@ children = ( 92C21CE61AAE858E0052ABE6 /* Filme.h */, 92C21CE71AAE858E0052ABE6 /* Filme.m */, + E8D671D31AB0C9D60077A631 /* Musica.h */, + E8D671D41AB0C9D60077A631 /* Musica.m */, + E8D671CD1AB0C70F0077A631 /* Podcast.h */, + E8D671CE1AB0C70F0077A631 /* Podcast.m */, + E8D671D01AB0C71C0077A631 /* Ebook.h */, + E8D671D11AB0C71C0077A631 /* Ebook.m */, ); name = Entidades; sourceTree = ""; }; + E8EB46AD1AB3557C003F5198 /* Details */ = { + isa = PBXGroup; + children = ( + E8EB46AE1AB35599003F5198 /* DetailViewController.h */, + E8EB46AF1AB35599003F5198 /* DetailViewController.m */, + E8EB46B01AB35599003F5198 /* DetailViewController.xib */, + ); + name = Details; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -232,7 +266,8 @@ files = ( 92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */, 92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */, - 92C21CDD1AAE75DC0052ABE6 /* TableView.xib in Resources */, + E8EB46A61AB3508C003F5198 /* TableView.xib in Resources */, + E8EB46B21AB35599003F5198 /* DetailViewController.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -250,11 +285,15 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E8D671D21AB0C71C0077A631 /* Ebook.m in Sources */, 92C21CBC1AAE757A0052ABE6 /* TableViewController.m in Sources */, + E8D671CF1AB0C70F0077A631 /* Podcast.m in Sources */, 92C21CDB1AAE75B30052ABE6 /* iTunesManager.m in Sources */, 92C21CB91AAE757A0052ABE6 /* AppDelegate.m in Sources */, + E8EB46B11AB35599003F5198 /* DetailViewController.m in Sources */, 92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */, 92C21CE11AAE76930052ABE6 /* TableViewCell.m in Sources */, + E8D671D51AB0C9D60077A631 /* Musica.m in Sources */, 92C21CB61AAE757A0052ABE6 /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -277,6 +316,20 @@ }; /* End PBXTargetDependency section */ +/* Begin PBXVariantGroup section */ + E8EB46A81AB3508C003F5198 /* TableView.xib */ = { + isa = PBXVariantGroup; + children = ( + E8EB46A71AB3508C003F5198 /* Base */, + E8EB46AA1AB35090003F5198 /* en */, + E8EB46AB1AB3509F003F5198 /* fr */, + E8EB46AC1AB350A8003F5198 /* pt */, + ); + name = TableView.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 92C21CD11AAE757A0052ABE6 /* Debug */ = { isa = XCBuildConfiguration; diff --git a/iTunesSearch/AppDelegate.m b/iTunesSearch/AppDelegate.m index d513fd8..8b8c343 100644 --- a/iTunesSearch/AppDelegate.m +++ b/iTunesSearch/AppDelegate.m @@ -22,13 +22,12 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( #warning Necessário para inicializar a aplicacao sem storyboard self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - // Override point for customization after application launch. + self.window.backgroundColor = [UIColor whiteColor]; -#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 *nav =[[UINavigationController alloc] initWithRootViewController:tvc]; + [self.window setRootViewController:nav]; [self.window makeKeyAndVisible]; return YES; } diff --git a/iTunesSearch/Base.lproj/TableView.xib b/iTunesSearch/Base.lproj/TableView.xib new file mode 100644 index 0000000..84a9a8a --- /dev/null +++ b/iTunesSearch/Base.lproj/TableView.xib @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iTunesSearch/DetailViewController.h b/iTunesSearch/DetailViewController.h new file mode 100644 index 0000000..ecc288e --- /dev/null +++ b/iTunesSearch/DetailViewController.h @@ -0,0 +1,20 @@ +// +// DetailViewController.h +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/13/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import +#import "TableViewCell.h" +#import "TableViewController.h" + +@interface DetailViewController : UIViewController +@property (strong, nonatomic) IBOutlet UILabel *nome; +@property (strong, nonatomic) IBOutlet UILabel *genero; +@property (strong, nonatomic) IBOutlet UILabel *tipo; +@property (strong, nonatomic) IBOutlet UIImageView *img; +@property (strong, nonatomic) IBOutlet UILabel *preco; + +@end diff --git a/iTunesSearch/DetailViewController.m b/iTunesSearch/DetailViewController.m new file mode 100644 index 0000000..f9b5581 --- /dev/null +++ b/iTunesSearch/DetailViewController.m @@ -0,0 +1,37 @@ +// +// DetailViewController.m +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/13/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "DetailViewController.h" + +@interface DetailViewController () + +@end + +@implementation DetailViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/iTunesSearch/DetailViewController.xib b/iTunesSearch/DetailViewController.xib new file mode 100644 index 0000000..30cf355 --- /dev/null +++ b/iTunesSearch/DetailViewController.xib @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iTunesSearch/Ebook.h b/iTunesSearch/Ebook.h new file mode 100644 index 0000000..eb16065 --- /dev/null +++ b/iTunesSearch/Ebook.h @@ -0,0 +1,21 @@ +// +// Ebook.h +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Ebook : 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) NSNumber *preco; +@property (nonatomic, strong) NSString *img; + +@end diff --git a/iTunesSearch/Ebook.m b/iTunesSearch/Ebook.m new file mode 100644 index 0000000..eef5e02 --- /dev/null +++ b/iTunesSearch/Ebook.m @@ -0,0 +1,14 @@ +// +// Ebook.m +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Ebook.h" + + +@implementation Ebook + +@end diff --git a/iTunesSearch/Entidades/Filme.h b/iTunesSearch/Entidades/Filme.h index eb126dc..3007cac 100644 --- a/iTunesSearch/Entidades/Filme.h +++ b/iTunesSearch/Entidades/Filme.h @@ -16,5 +16,7 @@ @property (nonatomic, strong) NSString *duracao; @property (nonatomic, strong) NSString *genero; @property (nonatomic, strong) NSString *pais; +@property (nonatomic, strong) NSNumber *preco; +@property (nonatomic, strong) NSString *img; @end diff --git a/iTunesSearch/Musica.h b/iTunesSearch/Musica.h new file mode 100644 index 0000000..11f6864 --- /dev/null +++ b/iTunesSearch/Musica.h @@ -0,0 +1,21 @@ +// +// Musica.h +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Musica : 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) NSNumber *preco; +@property (nonatomic, strong) NSString *img; +@end diff --git a/iTunesSearch/Musica.m b/iTunesSearch/Musica.m new file mode 100644 index 0000000..fac5293 --- /dev/null +++ b/iTunesSearch/Musica.m @@ -0,0 +1,16 @@ +// +// Musica.m +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Musica.h" + + + +@implementation Musica + + +@end diff --git a/iTunesSearch/Podcast.h b/iTunesSearch/Podcast.h new file mode 100644 index 0000000..0f4ec74 --- /dev/null +++ b/iTunesSearch/Podcast.h @@ -0,0 +1,22 @@ +// +// Podcast.h +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import + +@interface Podcast : 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) NSNumber *preco; +@property (nonatomic, strong) NSString *img; + +@end diff --git a/iTunesSearch/Podcast.m b/iTunesSearch/Podcast.m new file mode 100644 index 0000000..db1512f --- /dev/null +++ b/iTunesSearch/Podcast.m @@ -0,0 +1,15 @@ +// +// Podcast.m +// iTunesSearch +// +// Created by Hugo Luiz Chimello on 3/11/15. +// Copyright (c) 2015 joaquim. All rights reserved. +// + +#import "Podcast.h" + + +@implementation Podcast + + +@end 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/TableViewCell.h b/iTunesSearch/TableViewCell.h index b630349..8ab201a 100644 --- a/iTunesSearch/TableViewCell.h +++ b/iTunesSearch/TableViewCell.h @@ -12,6 +12,11 @@ @property (weak, nonatomic) IBOutlet UILabel *nome; @property (weak, nonatomic) IBOutlet UILabel *tipo; +@property (strong, nonatomic) IBOutlet UILabel *genero; +@property (strong, nonatomic) IBOutlet UILabel *preco; +@property (strong, nonatomic) IBOutlet UIImageView *img; + + @end diff --git a/iTunesSearch/TableViewCell.xib b/iTunesSearch/TableViewCell.xib index bf8bd3f..6732e2e 100644 --- a/iTunesSearch/TableViewCell.xib +++ b/iTunesSearch/TableViewCell.xib @@ -1,46 +1,225 @@ - + + + - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/iTunesSearch/TableViewController.h b/iTunesSearch/TableViewController.h index 0cbb5c4..25334cf 100644 --- a/iTunesSearch/TableViewController.h +++ b/iTunesSearch/TableViewController.h @@ -7,11 +7,19 @@ // #import +#import "DetailViewController.h" -@interface TableViewController : UIViewController - +@interface TableViewController : UIViewController @property (strong, nonatomic) IBOutlet UITableView *tableview; +@property (strong, nonatomic) IBOutlet UIView *view; +@property (strong, nonatomic) IBOutlet UITextField *searchText; +@property NSString *txtSearch; +- (IBAction)searchButton:(id)sender; +-(void)search; + + + @end diff --git a/iTunesSearch/TableViewController.m b/iTunesSearch/TableViewController.m index f689980..507938e 100644 --- a/iTunesSearch/TableViewController.m +++ b/iTunesSearch/TableViewController.m @@ -9,60 +9,143 @@ #import "TableViewController.h" #import "TableViewCell.h" #import "iTunesManager.h" -#import "Entidades/Filme.h" +#import "Filme.h" +#import "Musica.h" +#import "Podcast.h" +#import "Ebook.h" + @interface TableViewController () { NSArray *midias; + NSArray *mid; } @end + + @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"]; + -#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 { +- (void)didReceiveMemoryWarnin + { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - +-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + DetailViewController *dnav =[[DetailViewController alloc]init]; + [self.navigationController pushViewController:dnav animated:YES]; +} #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{ + switch(section){ +case 0: return @"Filme"; +case 1: return @"Musica"; +case 2: return @"Podcast"; +case 3: return @"Ebook"; + } + return @"oi"; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { TableViewCell *celula = [self.tableview dequeueReusableCellWithIdentifier:@"celulaPadrao"]; - Filme *filme = [midias objectAtIndex:indexPath.row]; + + mid=[[NSArray alloc] initWithArray:[midias objectAtIndex:indexPath.section]]; + + Filme *filme; + Musica *musica; + Podcast *podcast; + Ebook *ebook; - [celula.nome setText:filme.nome]; - [celula.tipo setText:@"Filme"]; + long row=[indexPath row]; + switch (indexPath.section){ + case 0: + filme=[mid objectAtIndex:indexPath.row]; + [celula.nome setText:filme.nome]; + [celula.tipo setText:@"Filme"]; + [celula.genero setText:filme.genero]; + [celula.preco setText:[NSString stringWithFormat:@"%@", filme.preco]]; + [celula.img setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:filme.img]]]]; + + break; + + case 1: + musica=[mid objectAtIndex:row]; + [celula.nome setText:musica.nome]; + [celula.tipo setText:@"Musica"]; + [celula.genero setText:musica.genero]; + [celula.preco setText:[NSString stringWithFormat:@"%@", musica.preco]]; + [celula.img setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:musica.img]]]]; + break; + case 2: + podcast=[mid objectAtIndex:row]; + [celula.nome setText:podcast.nome]; + [celula.tipo setText:@"podcast"]; + [celula.genero setText:podcast.genero]; + [celula.preco setText:[NSString stringWithFormat:@"%@", podcast.preco]]; + [celula.img setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:podcast.img]]]]; + break; + + case 3: + + ebook=[mid objectAtIndex:row]; + [celula.nome setText:ebook.nome]; + [celula.tipo setText:@"ebook"]; + [celula.genero setText:ebook.genero]; + [celula.preco setText:[NSString stringWithFormat:@"%@", ebook.preco]]; + [celula.img setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:ebook.img]]]]; + break; + default: + break; + } return celula; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - return 70; + return 120; } +- (IBAction)searchButton:(id)sender { + _txtSearch=_searchText.text; + //nomes compostos + _txtSearch=[_txtSearch stringByReplacingOccurrencesOfString:@" " withString:@"+"]; + [self search]; +} + + +-(void)search{ + iTunesManager *itunes=[iTunesManager sharedInstance]; + midias=[itunes buscarMidias:_txtSearch]; + [_tableview reloadData]; +} + +-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ + [_searchText resignFirstResponder]; +} @end diff --git a/iTunesSearch/en.lproj/TableView.strings b/iTunesSearch/en.lproj/TableView.strings new file mode 100644 index 0000000..85df2ca --- /dev/null +++ b/iTunesSearch/en.lproj/TableView.strings @@ -0,0 +1,3 @@ + +/* Class = "UIButton"; normalTitle = "search"; ObjectID = "zLn-Q4-3o0"; */ +"zLn-Q4-3o0.normalTitle" = "search"; diff --git a/iTunesSearch/fr.lproj/TableView.strings b/iTunesSearch/fr.lproj/TableView.strings new file mode 100644 index 0000000..081dc05 --- /dev/null +++ b/iTunesSearch/fr.lproj/TableView.strings @@ -0,0 +1,3 @@ + +/* Class = "UIButton"; normalTitle = "search"; ObjectID = "zLn-Q4-3o0"; */ +"zLn-Q4-3o0.normalTitle" = "Recherche"; diff --git a/iTunesSearch/iTunesManager.m b/iTunesSearch/iTunesManager.m index e2babda..a92f29d 100644 --- a/iTunesSearch/iTunesManager.m +++ b/iTunesSearch/iTunesManager.m @@ -7,7 +7,10 @@ // #import "iTunesManager.h" -#import "Entidades/Filme.h" +#import "Filme.h" +#import "Musica.h" +#import "Podcast.h" +#import "Ebook.h" @implementation iTunesManager @@ -34,7 +37,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=%@&limit=200", termo]; NSData *jsonData = [NSData dataWithContentsOfURL: [NSURL URLWithString:url]]; NSError *error; @@ -48,19 +51,66 @@ - (NSArray *)buscarMidias:(NSString *)termo { NSArray *resultados = [resultado objectForKey:@"results"]; NSMutableArray *filmes = [[NSMutableArray alloc] init]; + NSMutableArray *musicas =[[NSMutableArray alloc] init]; + NSMutableArray *podcasts= [[NSMutableArray alloc] init]; + NSMutableArray *ebooks= [[NSMutableArray alloc] init]; + + NSString *type; + 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"]]; + + type=[item objectForKey:@"kind"]; + if([type isEqualToString:@"feature-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 setPreco:[item objectForKey:@"trackPrice"]]; [filme setPais:[item objectForKey:@"country"]]; - [filmes addObject:filme]; + [filme setImg:[item objectForKey:@"artworkUrl100"]]; + [filmes addObject:filme]; } + else if([type isEqualToString:@"song"]){ + Musica *musica = [[Musica alloc] init]; + [musica setNome:[item objectForKey:@"trackName"]]; + [musica setTrackId:[item objectForKey:@"trackId"]]; + [musica setArtista:[item objectForKey:@"artistName"]]; + [musica setDuracao:[item objectForKey:@"trackTimeMillis"]]; + [musica setGenero:[item objectForKey:@"primaryGenreName"]]; + [musica setPais:[item objectForKey:@"country"]]; + [musica setPreco:[item objectForKey:@"trackPrice"]]; + [musica setImg:[item objectForKey:@"artworkUrl100"]]; + + [musicas addObject:musica]; + + } + else if([type isEqualToString:@"podcast"]){ + Podcast *podcast = [[Podcast alloc] init]; + [podcast setNome:[item objectForKey:@"trackName"]]; + [podcast setTrackId:[item objectForKey:@"trackId"]]; + [podcast setArtista:[item objectForKey:@"artistName"]]; + [podcast setPreco:[item objectForKey:@"trackPrice"]]; + [podcast setImg:[item objectForKey:@"artworkUrl100"]]; + [podcasts addObject:podcast]; + + } + else if([type isEqualToString:@"ebook"]){ + Ebook *ebook = [[Ebook alloc] init]; + [ebook setNome:[item objectForKey:@"trackName"]]; + [ebook setTrackId:[item objectForKey:@"trackId"]]; + [ebook setArtista:[item objectForKey:@"artistName"]]; + [ebook setPreco:[item objectForKey:@"trackPrice"]]; + [ebook setImg:[item objectForKey:@"artworkUrl100"]]; + [ebooks addObject: ebook]; + } + + } + NSArray *mid = [[NSArray alloc]initWithObjects:filmes,musicas,podcasts,ebooks, nil]; - return filmes; + return mid; } diff --git a/iTunesSearch/pt.lproj/TableView.strings b/iTunesSearch/pt.lproj/TableView.strings new file mode 100644 index 0000000..94b2359 --- /dev/null +++ b/iTunesSearch/pt.lproj/TableView.strings @@ -0,0 +1,3 @@ + +/* Class = "UIButton"; normalTitle = "search"; ObjectID = "zLn-Q4-3o0"; */ +"zLn-Q4-3o0.normalTitle" = "Buscar";