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
63 changes: 59 additions & 4 deletions iTunesSearch.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -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 */; };
D515C15C1AB0842600309310 /* Music.m in Sources */ = {isa = PBXBuildFile; fileRef = D515C15B1AB0842600309310 /* Music.m */; };
D515C15F1AB0843700309310 /* Podcast.m in Sources */ = {isa = PBXBuildFile; fileRef = D515C15E1AB0843700309310 /* Podcast.m */; };
D515C1621AB0844800309310 /* Ebook.m in Sources */ = {isa = PBXBuildFile; fileRef = D515C1611AB0844800309310 /* Ebook.m */; };
D57260A21AB33C7A00C35272 /* TableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D57260A41AB33C7A00C35272 /* TableView.xib */; };
D57E2B201AB0D0D500DE79AE /* DetailsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D57E2B1E1AB0D0D500DE79AE /* DetailsViewController.m */; };
D57E2B211AB0D0D500DE79AE /* DetailsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D57E2B1F1AB0D0D500DE79AE /* DetailsViewController.xib */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand All @@ -43,12 +48,24 @@
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>"; };
92C21CE61AAE858E0052ABE6 /* Filme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Filme.h; path = Entidades/Filme.h; sourceTree = "<group>"; };
92C21CE71AAE858E0052ABE6 /* Filme.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Filme.m; path = Entidades/Filme.m; sourceTree = "<group>"; };
D515C15A1AB0842600309310 /* Music.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Music.h; sourceTree = "<group>"; };
D515C15B1AB0842600309310 /* Music.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Music.m; sourceTree = "<group>"; };
D515C15D1AB0843700309310 /* Podcast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Podcast.h; sourceTree = "<group>"; };
D515C15E1AB0843700309310 /* Podcast.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Podcast.m; sourceTree = "<group>"; };
D515C1601AB0844800309310 /* Ebook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ebook.h; sourceTree = "<group>"; };
D515C1611AB0844800309310 /* Ebook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Ebook.m; sourceTree = "<group>"; };
D57260A31AB33C7A00C35272 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/TableView.xib; sourceTree = "<group>"; };
D57260A51AB33C9000C35272 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/TableView.strings; sourceTree = "<group>"; };
D57260A61AB33C9600C35272 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/TableView.strings; sourceTree = "<group>"; };
D57260A81AB33CC100C35272 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/TableView.strings; sourceTree = "<group>"; };
D57E2B1D1AB0D0D500DE79AE /* DetailsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailsViewController.h; sourceTree = "<group>"; };
D57E2B1E1AB0D0D500DE79AE /* DetailsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailsViewController.m; sourceTree = "<group>"; };
D57E2B1F1AB0D0D500DE79AE /* DetailsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DetailsViewController.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -92,11 +109,12 @@
children = (
92C21CE31AAE76AA0052ABE6 /* Celulas */,
92C21CE91AAE859A0052ABE6 /* Entidades */,
D57E2B221AB0D0E000DE79AE /* Details */,
92C21CB71AAE757A0052ABE6 /* AppDelegate.h */,
92C21CB81AAE757A0052ABE6 /* AppDelegate.m */,
92C21CBA1AAE757A0052ABE6 /* TableViewController.h */,
92C21CBB1AAE757A0052ABE6 /* TableViewController.m */,
92C21CDC1AAE75DC0052ABE6 /* TableView.xib */,
D57260A41AB33C7A00C35272 /* TableView.xib */,
92C21CD91AAE75B30052ABE6 /* iTunesManager.h */,
92C21CDA1AAE75B30052ABE6 /* iTunesManager.m */,
92C21CC01AAE757A0052ABE6 /* Images.xcassets */,
Expand Down Expand Up @@ -144,12 +162,28 @@
92C21CE91AAE859A0052ABE6 /* Entidades */ = {
isa = PBXGroup;
children = (
D515C15A1AB0842600309310 /* Music.h */,
D515C15B1AB0842600309310 /* Music.m */,
D515C15D1AB0843700309310 /* Podcast.h */,
D515C15E1AB0843700309310 /* Podcast.m */,
D515C1601AB0844800309310 /* Ebook.h */,
D515C1611AB0844800309310 /* Ebook.m */,
92C21CE61AAE858E0052ABE6 /* Filme.h */,
92C21CE71AAE858E0052ABE6 /* Filme.m */,
);
name = Entidades;
sourceTree = "<group>";
};
D57E2B221AB0D0E000DE79AE /* Details */ = {
isa = PBXGroup;
children = (
D57E2B1D1AB0D0D500DE79AE /* DetailsViewController.h */,
D57E2B1E1AB0D0D500DE79AE /* DetailsViewController.m */,
D57E2B1F1AB0D0D500DE79AE /* DetailsViewController.xib */,
);
name = Details;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand Down Expand Up @@ -232,7 +266,8 @@
files = (
92C21CC11AAE757A0052ABE6 /* Images.xcassets in Resources */,
92C21CE21AAE76930052ABE6 /* TableViewCell.xib in Resources */,
92C21CDD1AAE75DC0052ABE6 /* TableView.xib in Resources */,
D57260A21AB33C7A00C35272 /* TableView.xib in Resources */,
D57E2B211AB0D0D500DE79AE /* DetailsViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -250,7 +285,11 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D515C1621AB0844800309310 /* Ebook.m in Sources */,
D57E2B201AB0D0D500DE79AE /* DetailsViewController.m in Sources */,
D515C15C1AB0842600309310 /* Music.m in Sources */,
92C21CBC1AAE757A0052ABE6 /* TableViewController.m in Sources */,
D515C15F1AB0843700309310 /* Podcast.m in Sources */,
92C21CDB1AAE75B30052ABE6 /* iTunesManager.m in Sources */,
92C21CB91AAE757A0052ABE6 /* AppDelegate.m in Sources */,
92C21CE81AAE858E0052ABE6 /* Filme.m in Sources */,
Expand All @@ -277,6 +316,20 @@
};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
D57260A41AB33C7A00C35272 /* TableView.xib */ = {
isa = PBXVariantGroup;
children = (
D57260A31AB33C7A00C35272 /* Base */,
D57260A51AB33C9000C35272 /* fr */,
D57260A61AB33C9600C35272 /* pt */,
D57260A81AB33CC100C35272 /* en */,
);
name = TableView.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
92C21CD11AAE757A0052ABE6 /* Debug */ = {
isa = XCBuildConfiguration;
Expand Down Expand Up @@ -364,6 +417,7 @@
INFOPLIST_FILE = iTunesSearch/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = 1;
};
name = Debug;
};
Expand All @@ -375,6 +429,7 @@
INFOPLIST_FILE = iTunesSearch/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = 1;
};
name = Release;
};
Expand Down
12 changes: 6 additions & 6 deletions iTunesSearch/AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#import "AppDelegate.h"

#warning Classe importada para uso no metodo de inicilizacao da App
//#warning Classe importada para uso no metodo de inicilizacao da App
#import "TableViewController.h"

@interface AppDelegate ()
Expand All @@ -20,15 +20,15 @@ @implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

#warning Necessário para inicializar a aplicacao sem storyboard
//#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];
//#warning Adicionado codigo para iniciar com a interface do TableView
TableViewController *tbVC = [[TableViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tbVC];
[self.window setRootViewController:navController];
[self.window makeKeyAndVisible];
return YES;
}
Expand Down
73 changes: 73 additions & 0 deletions iTunesSearch/Base.lproj/TableView.xib
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="14C1510" 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="buttonSearch" destination="hq0-Y2-eWG" id="Ywt-yc-5a3"/>
<outlet property="tableview" destination="z24-IP-C1d" id="fiF-7d-ri3"/>
<outlet property="txtSearch" destination="nBI-F1-SYc" id="QMy-RG-tqf"/>
<outlet property="view" destination="BH5-WO-gfD" id="nRK-NB-keP"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="BH5-WO-gfD">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="nBI-F1-SYc">
<rect key="frame" x="8" y="75" width="501" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hq0-Y2-eWG">
<rect key="frame" x="517" y="75" width="75" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="75" id="Prc-tr-OUi"/>
</constraints>
<state key="normal" title="Search">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="btnSearch:" destination="-1" eventType="touchUpInside" id="Vfk-LE-Ldd"/>
</connections>
</button>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="z24-IP-C1d">
<rect key="frame" x="0.0" y="115" width="600" height="485"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<connections>
<outlet property="dataSource" destination="-1" id="grn-Rq-4Ux"/>
<outlet property="delegate" destination="-1" id="M2x-yu-OMO"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="z24-IP-C1d" firstAttribute="top" secondItem="hq0-Y2-eWG" secondAttribute="bottom" constant="10" id="7V5-Bs-hHS"/>
<constraint firstItem="hq0-Y2-eWG" firstAttribute="leading" secondItem="nBI-F1-SYc" secondAttribute="trailing" constant="8" id="9E6-ZB-IbB"/>
<constraint firstAttribute="trailing" secondItem="z24-IP-C1d" secondAttribute="trailing" id="AGP-De-dKk"/>
<constraint firstItem="nBI-F1-SYc" firstAttribute="top" secondItem="BH5-WO-gfD" secondAttribute="top" constant="75" id="DTT-eE-qhC"/>
<constraint firstItem="hq0-Y2-eWG" firstAttribute="top" secondItem="BH5-WO-gfD" secondAttribute="top" constant="15" id="Lyr-aE-S7V"/>
<constraint firstAttribute="bottom" secondItem="z24-IP-C1d" secondAttribute="bottom" id="OMd-53-HTA"/>
<constraint firstItem="nBI-F1-SYc" firstAttribute="leading" secondItem="BH5-WO-gfD" secondAttribute="leading" constant="8" id="Owh-Dz-Drm"/>
<constraint firstAttribute="trailing" secondItem="hq0-Y2-eWG" secondAttribute="trailing" constant="8" id="aeN-aw-D9E"/>
<constraint firstAttribute="centerY" secondItem="nBI-F1-SYc" secondAttribute="centerY" id="hmJ-lF-uCI"/>
<constraint firstItem="z24-IP-C1d" firstAttribute="top" secondItem="hq0-Y2-eWG" secondAttribute="bottom" constant="10" id="maa-P6-mPa"/>
<constraint firstItem="nBI-F1-SYc" firstAttribute="centerY" secondItem="hq0-Y2-eWG" secondAttribute="centerY" id="rlu-tm-YGu"/>
<constraint firstItem="z24-IP-C1d" firstAttribute="leading" secondItem="BH5-WO-gfD" secondAttribute="leading" id="rmO-wu-6jm"/>
<constraint firstAttribute="centerY" secondItem="hq0-Y2-eWG" secondAttribute="centerY" id="xuc-Rx-qAB"/>
</constraints>
<variation key="default">
<mask key="constraints">
<exclude reference="hmJ-lF-uCI"/>
<exclude reference="maa-P6-mPa"/>
<exclude reference="Lyr-aE-S7V"/>
<exclude reference="xuc-Rx-qAB"/>
</mask>
</variation>
<point key="canvasLocation" x="326" y="289"/>
</view>
</objects>
</document>
21 changes: 21 additions & 0 deletions iTunesSearch/DetailsViewController.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
//
// DetailsViewController.h
// iTunesSearch
//
// Created by Rubens Gondek on 3/11/15.
// Copyright (c) 2015 joaquim. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface DetailsViewController : UIViewController

@property (weak, nonatomic) IBOutlet UILabel *lblTitle;
@property (weak, nonatomic) IBOutlet UILabel *lblArt;
@property (weak, nonatomic) IBOutlet UIImageView *imgCapa;
@property (weak, nonatomic) IBOutlet UILabel *lblPrice;

@property NSUInteger iRow;
@property NSUInteger iSection;

@end
75 changes: 75 additions & 0 deletions iTunesSearch/DetailsViewController.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
//
// DetailsViewController.m
// iTunesSearch
//
// Created by Rubens Gondek on 3/11/15.
// Copyright (c) 2015 joaquim. All rights reserved.
//

#import "DetailsViewController.h"
#import "TableViewController.h"
#import "iTunesManager.h"
#import "Music.h"
#import "Filme.h"
#import "Podcast.h"
#import "Ebook.h"

@interface DetailsViewController ()

@end

@implementation DetailsViewController

@synthesize iRow, iSection, lblTitle, lblArt, lblPrice, imgCapa;

- (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.
}

-(void)viewWillAppear:(BOOL)animated{
iTunesManager *itManager = [iTunesManager sharedInstance];
id obj = [[itManager.midias objectAtIndex:iSection] objectAtIndex:iRow];

if ([obj isMemberOfClass:[Music class]]) {
self.navigationItem.title = @"Música";
Music *m = obj;
[lblTitle setText:m.nome];
[lblArt setText:m.artista];
[imgCapa setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:m.img]]]];
[lblPrice setText:[NSString stringWithFormat:@"Price U$ %@", m.price]];
}
else if ([obj isMemberOfClass:[Filme class]]) {
self.navigationItem.title = @"Filme";
Filme *f = obj;
[lblTitle setText:f.nome];
[lblArt setText:f.artista];
[imgCapa setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:f.img]]]];
[lblPrice setText:[NSString stringWithFormat:@"Price U$ %@", f.price]];
}
else if ([obj isMemberOfClass:[Podcast class]]) {
self.navigationItem.title = @"Podcast";
Podcast *p = obj;
[lblTitle setText:p.nome];
[lblArt setText:p.genero];
[imgCapa setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:p.img]]]];
[lblPrice setText:[NSString stringWithFormat:@"Price U$ %@", p.price]];
}
else if ([obj isMemberOfClass:[Ebook class]]) {
self.navigationItem.title = @"Ebook";
Ebook *e = obj;
[lblTitle setText:e.nome];
[lblArt setText:e.artista];
[imgCapa setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:e.img]]]];
[lblPrice setText:[NSString stringWithFormat:@"Price U$ %@", e.price]];
}

}

@end
Loading