Course Background:
Aggregated data is one of the largest basic data API providers in the country. Free to provide safe, stable and efficient data from weather inquiries, air quality, map coordinates to financial funds, e-commerce parity, illegal inquiries and other fields. Developers can use the aggregation data API for the rapid development of mobile apps, eliminating data collection, maintenance and so on, greatly reducing the development cycle and cost.
Core content:
1. Barcode Finder structure analysis.
2. How to add the aggregation data SDK to the project.
3. Encapsulation of models and business classes.
4. Data transfer between controllers.
5.tableView and the use of WebView.
Development Environment: Xcode 6, Mac OS X 10.10
Course Outline
1. Barcode Finder Interface Setup
12:53650) this.width=650; "src=" Http://s1.jikexueyuan.com/v3/static/images/common/ue-time-14-1.png "alt= "Play button" style= "Border:none;"/>
This class through the analysis of bar code query UI structure and business logic, quickly build up the Barcode Finder business interface.
2. Introduction to Aggregation Data SDK usage
13:15650) this.width=650; "src=" Http://s1.jikexueyuan.com/v3/static/images/common/ue-time-14-1.png "alt= "Play button" style= "Border:none;"/>
This lesson introduces the download of the Aggregation Data SDK, as well as the use of the SDK with the documentation and the Demo, to add the framework for the project and to obtain the OpenID and request parameters for the project by applying for aggregated data accounts. and analyze the return data of aggregated data by testing the code.
3. Perfect City Selection interface
21:22650) this.width=650; "src=" Http://s1.jikexueyuan.com/v3/static/images/common/ue-time-14-1.png "alt= "Play button" style= "Border:none;"/>
This lesson demonstrates how to add third-party frameworks and business classes and models packaged by geek College teachers to the project and quickly use them, and display the captured data in the city selection interface, and enable data transfer between the city selection interface and the home page.
4. Details of the product interface to complete the preliminary
24:41650) this.width=650; "src=" Http://s1.jikexueyuan.com/v3/static/images/common/ue-time-14-1.png "alt= "Play button" style= "Border:none;"/>
This class analyzes the product details interface data, demonstrates how to use the already packaged business classes and models to display e-commerce and supermarket data to the interface, and give the aggregate data to obtain data type uncertainty solution.
5. Product Details interface Complete data display
19:03650) this.width=650; "src=" Http://s1.jikexueyuan.com/v3/static/images/common/ue-time-14-1.png "alt= "Play button" style= "Border:none;"/>
This lesson demonstrates how to add a group header control and how to use Xib to quickly create a tableView Headerview, and pass the server data utilization model to a control within Xib, where ImageView's picture shows Sdwebimage.
6. Perfect Purchase Interface
13:43650) this.width=650; "src=" Http://s1.jikexueyuan.com/v3/static/images/common/ue-time-14-1.png "alt= "Play button" style= "Border:none;"/>
This lesson shows how to change the view of the controller in Uiviewcontroller to WebView and use WebView to display the purchase interface and use Mbprogresshud to give a UI hint when the e-commerce does not have a link to purchase.
Course prototype diagram
650) this.width=650; "Src=" http://img.blog.csdn.net/20141105144629084?watermark/2/text/ ahr0cdovl2jsb2cuy3nkbi5uzxqvu29yb3nx/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/ Southeast "style=" Border:none; "/>
650) this.width=650; "Src=" http://img.blog.csdn.net/20141105144647539?watermark/2/text/ ahr0cdovl2jsb2cuy3nkbi5uzxqvu29yb3nx/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/ Southeast "style=" Border:none; "/>
650) this.width=650; "Src=" http://img.blog.csdn.net/20141105144707585?watermark/2/text/ ahr0cdovl2jsb2cuy3nkbi5uzxqvu29yb3nx/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/ Southeast "style=" Border:none; "/>
650) this.width=650; "Src=" http://img.blog.csdn.net/20141105144742281?watermark/2/text/ ahr0cdovl2jsb2cuy3nkbi5uzxqvu29yb3nx/font/5a6l5l2t/fontsize/400/fill/i0jbqkfcma==/dissolve/70/gravity/ Southeast "style=" Border:none; "/>
Course Code Snippets
@interface Viewcontroller () <JKCitiesControllerDelegate>
@property (nonatomic, copy) NSString *cityid;
@property (Weak, nonatomic) Iboutlet Uitextfield *inputtextfield;
@end
@implementation Viewcontroller
-(ibaction) Chaxunonclick {
if (!self.inputtextfield.hastext) {
[Mbprogresshud showerror:@ "Please enter the product barcode!"];
Return
}
Jkgoodscontroller *GVC = [[Jkgoodscontroller alloc] init];
Barcodeparam *param = [[Barcodeparam alloc] init];
Param.cityid = Self.cityid;
#warning actually developed here is the text input fancy string
Param.barcode = @ "6923450601822";
Param.barcode = Self.inputTextField.text;
Gvc.barcodeparam = param;
[Self.navigationcontroller PUSHVIEWCONTROLLER:GVC Animated:yes];
}
-(void) Viewdidload {
[Super Viewdidload];
Additional setup after loading the view, typically from a nib.
[[Jhopenidsupplier Sharesupplier] Registerjuheapibyopenid:jhopenid];
Self.title = @ "Barcode Finder";
Self.navigationItem.rightBarButtonItem = [[Uibarbuttonitem alloc] initwithtitle:@ "Shanghai" style: Uibarbuttonitemstyledone target:self Action: @selector (OPENCITIESVC)];
Self.cityid = @ "1";
//
[Self test:kjhapis_ex_jhbar_city parameters:@{@ "pname": @ "Com.jikexueyuan.JKJHBarCode" @ "V": @ "2.0"}] ;
[Self Test:kjhapis_ex_jhbar_bar parameters:@{@ "barcode": @ "6923450601822", @ "Cityid": @ "1", @ "pname": @ "Co M.jikexueyuan.jkjhbarcode "@" V ": @" 2.0 "}];
[Self test:kjhapis_ex_jhbar_buy parameters:@{@ "barcode": @ "6923450601822", @ "Dsid": @ "5" @ "PName": @ "Com.jikexueyuan.JKJHBarCode" @ "V": @ "2.0"}];
}
-(void) Test: (NSString *) path parameters: (nsdictionary *) parameters{
Juheapi *juheapi = [Juheapi Sharejuheapi];
[Juheapi Executeworkwithapi:path
Parameters:parameters
success:^ (id responseobject) {
if ([[Parameters objectforkey:@ "Dtype"] isequaltostring:@ "xml"]) {
NSLog (@ "***xml*** \%@", responseobject);
}else{
int error_code = [[Responseobject objectforkey:@ "Error_code"] intvalue];
if (!error_code) {
NSLog (@ "%@", responseobject);
}else{
NSLog (@ "%@", responseobject);
}
}
} failure:^ (Nserror *error) {
NSLog (@ "error:%@", error.description);
}];
}
-(void) didreceivememorywarning {
[Super didreceivememorywarning];
Dispose of any resources the can be recreated.
}
-(void) opencitiesvc
{
Jkcitiescontroller *CVC = [[Jkcitiescontroller alloc] init];
Cvc.delegate = self;
[Self.navigationcontroller PUSHVIEWCONTROLLER:CVC Animated:yes];
}
#pragma mark-jkcitiescontrollerdelegate
-(void) Backtomainvcwithcity: (City *) City
{
1. Replace the title of the button in the upper right corner
Self.navigationItem.rightBarButtonItem.title = City.cityname;
2. Pass to the host controller a Cityid of data
Self.cityid = [NSString stringwithformat:@ "%@", City.cityid];
}
Course Address:http://www.jikexueyuan.com/course/324.html
[Video tutorial] aggregating data IOS project development combat: Barcode Finder