Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
Localizable.strings
iTunesSearch

Created by Eduardo Quadros on 3/12/15.
Copyright (c) 2015 joaquim. All rights reserved.
*/
"search"="Search";
26 changes: 22 additions & 4 deletions iTunesSearch.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@
objects = {

/* Begin PBXBuildFile section */
61D302851AB22E0500B76908 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61D302841AB22E0500B76908 /* TableView.xib */; };
61D302861AB22E8900B76908 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 61D302881AB22E8900B76908 /* Localizable.strings */; };
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 */; };
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 */; };
Expand All @@ -30,6 +31,9 @@
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
61D302841AB22E0500B76908 /* TableView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TableView.xib; sourceTree = "<group>"; };
61D302891AB22E8C00B76908 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
61D3028A1AB22EB400B76908 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = "<group>"; };
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 = "<group>"; };
92C21CB51AAE757A0052ABE6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
Expand All @@ -43,7 +47,6 @@
92C21CCF1AAE757A0052ABE6 /* iTunesSearchTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iTunesSearchTests.m; sourceTree = "<group>"; };
92C21CD91AAE75B30052ABE6 /* iTunesManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iTunesManager.h; sourceTree = "<group>"; };
92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iTunesManager.m; sourceTree = "<group>"; };
92C21CDC1AAE75DC0052ABE6 /* TableView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TableView.xib; sourceTree = "<group>"; };
92C21CDE1AAE76930052ABE6 /* TableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableViewCell.h; sourceTree = "<group>"; };
92C21CDF1AAE76930052ABE6 /* TableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableViewCell.m; sourceTree = "<group>"; };
92C21CE01AAE76930052ABE6 /* TableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TableViewCell.xib; sourceTree = "<group>"; };
Expand Down Expand Up @@ -72,6 +75,7 @@
92C21CA71AAE757A0052ABE6 = {
isa = PBXGroup;
children = (
61D302881AB22E8900B76908 /* Localizable.strings */,
92C21CB21AAE757A0052ABE6 /* iTunesSearch */,
92C21CCC1AAE757A0052ABE6 /* iTunesSearchTests */,
92C21CB11AAE757A0052ABE6 /* Products */,
Expand All @@ -96,7 +100,7 @@
92C21CB81AAE757A0052ABE6 /* AppDelegate.m */,
92C21CBA1AAE757A0052ABE6 /* TableViewController.h */,
92C21CBB1AAE757A0052ABE6 /* TableViewController.m */,
92C21CDC1AAE75DC0052ABE6 /* TableView.xib */,
61D302841AB22E0500B76908 /* TableView.xib */,
92C21CD91AAE75B30052ABE6 /* iTunesManager.h */,
92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */,
92C21CC01AAE757A0052ABE6 /* Images.xcassets */,
Expand Down Expand Up @@ -213,6 +217,7 @@
knownRegions = (
en,
Base,
pt,
);
mainGroup = 92C21CA71AAE757A0052ABE6;
productRefGroup = 92C21CB11AAE757A0052ABE6 /* Products */;
Expand All @@ -231,8 +236,9 @@
buildActionMask = 2147483647;
files = (
92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */,
61D302851AB22E0500B76908 /* TableView.xib in Resources */,
61D302861AB22E8900B76908 /* Localizable.strings in Resources */,
92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */,
92C21CDD1AAE75DC0052ABE6 /* TableView.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -277,6 +283,18 @@
};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
61D302881AB22E8900B76908 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
61D302891AB22E8C00B76908 /* en */,
61D3028A1AB22EB400B76908 /* pt */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
92C21CD11AAE757A0052ABE6 /* Debug */ = {
isa = XCBuildConfiguration;
Expand Down
1 change: 1 addition & 0 deletions iTunesSearch/Entidades/Filme.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@
@property (nonatomic, strong) NSString *duracao;
@property (nonatomic, strong) NSString *genero;
@property (nonatomic, strong) NSString *pais;
@property (nonatomic, strong) NSString *kind;

@end
20 changes: 13 additions & 7 deletions iTunesSearch/TableView.xib
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="14D72i" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="14D87h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6736"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TableViewController">
<connections>
<outlet property="tableview" destination="z24-IP-C1d" id="fiF-7d-ri3"/>
<outlet property="view" destination="z24-IP-C1d" id="NXu-VO-9o4"/>
<outlet property="searchMedia" destination="iZZ-fu-2ko" id="BeY-wW-NZG"/>
<outlet property="tableview" destination="DhQ-BZ-yUD" id="FFL-ln-TCL"/>
<outlet property="view" destination="DhQ-BZ-yUD" id="t2l-4h-DY6"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="z24-IP-C1d">
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="DhQ-BZ-yUD">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<searchBar key="tableHeaderView" contentMode="redraw" id="iZZ-fu-2ko">
<rect key="frame" x="0.0" y="0.0" width="600" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<textInputTraits key="textInputTraits"/>
</searchBar>
<connections>
<outlet property="dataSource" destination="-1" id="grn-Rq-4Ux"/>
<outlet property="delegate" destination="-1" id="M2x-yu-OMO"/>
<outlet property="dataSource" destination="-1" id="EJK-7E-Glp"/>
<outlet property="delegate" destination="-1" id="319-Lk-eCf"/>
</connections>
<point key="canvasLocation" x="-135" y="440"/>
<point key="canvasLocation" x="-136" y="477"/>
</tableView>
</objects>
</document>
5 changes: 4 additions & 1 deletion iTunesSearch/TableViewCell.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

@property (weak, nonatomic) IBOutlet UILabel *nome;
@property (weak, nonatomic) IBOutlet UILabel *tipo;

@property (weak, nonatomic) IBOutlet UILabel *directorName;
@property (weak, nonatomic) IBOutlet UILabel *duration;
@property (weak, nonatomic) IBOutlet UILabel *genre;

@end

6 changes: 1 addition & 5 deletions iTunesSearch/TableViewCell.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,10 @@

@implementation TableViewCell

- (void)awakeFromNib {
// Initialization code
}
- (void)awakeFromNib {}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];

// Configure the view for the selected state
}

@end
31 changes: 26 additions & 5 deletions iTunesSearch/TableViewCell.xib
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="14D72i" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="14D87h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6736"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
Expand All @@ -8,16 +8,16 @@
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="75" id="KGk-i7-Jjw" customClass="TableViewCell">
<rect key="frame" x="0.0" y="0.0" width="300" height="65"/>
<rect key="frame" x="0.0" y="0.0" width="300" height="150"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Nome da Mídia" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UIA-JU-luV">
<rect key="frame" x="8" y="8" width="284" height="21"/>
<rect key="frame" x="8" y="8" width="284" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="Tipo da Mídia" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Z5-yj-wnl">
Expand All @@ -26,6 +26,24 @@
<color key="textColor" red="0.89928382640000004" green="0.12798005339999999" blue="0.001599563868" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Diretor" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="35i-YP-Jzb">
<rect key="frame" x="8" y="63" width="284" height="21"/>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="12"/>
<color key="textColor" red="0.89928382640000004" green="0.12798005339999999" blue="0.001599563868" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Duração" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MqA-c7-lk8">
<rect key="frame" x="8" y="92" width="284" height="21"/>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="12"/>
<color key="textColor" red="0.89928382640000004" green="0.12798005339999999" blue="0.001599563868" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Gênero" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lOJ-nf-2EC">
<rect key="frame" x="8" y="121" width="284" height="21"/>
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="12"/>
<color key="textColor" red="0.89928382640000004" green="0.12798005339999999" blue="0.001599563868" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="trailingMargin" secondItem="6Z5-yj-wnl" secondAttribute="trailing" id="20H-3b-RZ8"/>
Expand All @@ -37,10 +55,13 @@
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="directorName" destination="35i-YP-Jzb" id="1TP-Od-Jxr"/>
<outlet property="duration" destination="MqA-c7-lk8" id="NB6-I8-Dn2"/>
<outlet property="genre" destination="lOJ-nf-2EC" id="G4w-Ch-ZQP"/>
<outlet property="nome" destination="UIA-JU-luV" id="ubX-WX-gam"/>
<outlet property="tipo" destination="6Z5-yj-wnl" id="vYj-HE-tLd"/>
</connections>
<point key="canvasLocation" x="577" y="80.5"/>
<point key="canvasLocation" x="577" y="80"/>
</tableViewCell>
</objects>
</document>
5 changes: 2 additions & 3 deletions iTunesSearch/TableViewController.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@

#import <UIKit/UIKit.h>

@interface TableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

@interface TableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate>

@property (weak, nonatomic) IBOutlet UISearchBar *searchMedia;
@property (strong, nonatomic) IBOutlet UITableView *tableview;

@end

62 changes: 48 additions & 14 deletions iTunesSearch/TableViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,60 @@ @interface TableViewController () {

@implementation TableViewController


- (BOOL)prefersStatusBarHidden {
return YES;
}

- (void)viewDidLoad {
[super viewDidLoad];

UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil];
[self.tableview registerNib:nib forCellReuseIdentifier:@"celulaPadrao"];


[_searchMedia setDelegate:self];
[_searchMedia setPlaceholder:NSLocalizedString(@"search", nil)];

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)];
// midias = [itunes buscarMidias:@"Apple"];
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

#pragma mark SearchBar

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
[_searchMedia setShowsCancelButton:YES animated:YES];
}

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[_searchMedia setShowsCancelButton:NO animated:YES];
[_searchMedia resignFirstResponder];
}

// Amazingly slow.
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
iTunesManager *manager = [iTunesManager sharedInstance];
midias = [manager buscarMidias:_searchMedia.text];

[_tableview reloadData];
}

#pragma mark - UITableViewDataSource

#pragma mark - Metodos do UITableViewDataSource
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
// Media Types
// movie, podcast, music, musicVideo, audiobook, shortFilm, tvShow, software, ebook, all
// https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

if (midias) {
// get all media types from returned search array

return 0;
}

return 0;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
Expand All @@ -51,18 +81,22 @@ -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
TableViewCell *celula = [self.tableview dequeueReusableCellWithIdentifier:@"celulaPadrao"];

Filme *filme = [midias objectAtIndex:indexPath.row];

[celula.nome setText:filme.nome];
[celula.tipo setText:@"Filme"];

[celula.directorName setText:filme.artista];
[celula.duration setText:filme.duracao];
[celula.genre setText:filme.genero];
return celula;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 70;
return 150; // Hard coded sucks...
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[_searchMedia resignFirstResponder];
}

@end
Loading