Bu servislere de iOS ortamından erişmeyi görücez.
Person.h
@interface Person : NSObject @property(nonatomic) NSInteger rid; @property(nonatomic,retain) NSString *firstname; @property(nonatomic,retain) NSString *lastname; @end
Person.m
#import "Person.h" @implementation Person @synthesize rid; @synthesize firstname; @synthesize lastname; @end
mainViewController.m
#import "mainViewController.h" #import "Person.h" #import "SBJson.h" @interface mainViewController () @end Person *person; NSMutableArray * personlist; @implementation mainViewController - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; personlist=[NSMutableArray new]; NSURL *url = [[NSURL alloc] initWithString:@"http://192.168.1.7:8080/datasnap/rest/TServerMethods1/GetPersonList"]; NSError *error = nil; NSStringEncoding encoding; NSString *rawjson = [[NSString alloc] initWithContentsOfURL:url usedEncoding:&encoding error:&error]; //formatting : [NSString stringWithFormat:@"%d", rawjson.length]; if (rawjson.length!=0){ SBJsonParser * parser=[SBJsonParser new]; NSDictionary *jsonObject = [parser objectWithString:rawjson error:&error]; NSArray *mainlist = [jsonObject objectForKey:@"result"]; NSArray *innerlist= [mainlist objectAtIndex:0]; for (NSDictionary *item in innerlist) { person =[Person new]; person.rid=[[item objectForKey:@"rid"] integerValue]; person.firstname=[item objectForKey: @"firstname"]; person.lastname=[item objectForKey: @"lastname"]; [personlist addObject:person]; } } // Uncomment the following line to preserve selection between presentations. // self.clearsneSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { //warning Potentially incomplete method implementation. // Return the number of sections. return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { //warning Incomplete method implementation. // Return the number of rows in the section. return [personlist count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; // Configure the cell... Person * personItem=[personlist objectAtIndex:indexPath.row]; cell.textLabel.text=[NSString stringWithFormat:@"%@ %@", [personItem firstname],[personItem lastname]]; return cell; }
Demo :
Kaynaklar :
http://json.org/http://stig.github.com/json-framework/
http://docwiki.embarcadero.com/RADStudio/en/DataSnap_REST_Messaging_Protocol
http://jasarien.com/?p=428
http://stackoverflow.com/questions/4919249/how-to-parse-json-into-objective-c-sbjson
http://stackoverflow.com/questions/3995519/how-to-use-stringwithcontentsofurlencodingerror
http://stackoverflow.com/questions/12567491/how-to-parse-this-json-data-with-objective-c-sbjsonparser
Hadi hayırlı işler. :)
Ellerine sağlık İsmail çok güzeldi
YanıtlaSilTeşekkür ederim Mehmet hocam.
YanıtlaSilBu konuda ki çalışmalarım yoğun bir şekilde devam ediyor.
Zaman buldukça paylaşmaya çalışıcam. :)
İsmail Kardeş.. Ellerine ve Emeğine Sağlık Çok Güzel Bir Çalışma Olmuş...
YanıtlaSilBu yorum yazar tarafından silindi.
YanıtlaSil