Tuesday, 14 April 2015

Resolved Weird Problem. can't grab data from SQL database.


my problem here 2 data pointers doing supposed doing pointing data in sql database except whenever called in 2 methods webviewdidstartload , webviewdidfinishload.

other 2 data pointer(total 4) belongs same sql database have no problem functioning when called in methods. username , password pointers giving me problems pointing rubbish code in 2 mentioned methods..

in controllera, when select row, push me webviewcontroller code below shows.

code:
- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath {        if (internetbrower == nil) {          internetbrower = [[webviewcontroller alloc] initwithnibname:@"webviewcontroller" bundle:nil];      }            login *loginobj = [appdelegate.loginarray objectatindex:indexpath.row];            //get detail view data if not exists.      //we load data want , keep on loading need.      [loginobj hydratedetailviewdata];            //--passing data webviewcontroller      internetbrower.loginobj = loginobj;            //--push webviewcontroller      [self.navigationcontroller pushviewcontroller:internetbrower animated:yes];      internetbrower = nil;  }  
when run program , click on row in tableview, pushes webviewcontroller , exc_bad_access @ 4 points show below.

code:
#import "webviewcontroller.h"  #import "fyp_test_1appdelegate.h"  #import "mainlogincontroller.h"  #import "login.h"    @implementation webviewcontroller    @synthesize mywebview, loginobj, urltextfield, activity;    - (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil  {      self = [super initwithnibname:nibnameornil bundle:nibbundleornil];      if (self) {          // custom initialization      }      return self;  }    -(void) showwebview{        nslog(@"showwebview desc: %@", loginobj.logindesc);      nslog(@"showwebview url: %@", loginobj.loginurl);      nslog(@"showwebview username: %@", loginobj.loginusername);      nslog(@"showwebview password: %@", loginobj.loginpassword);        nsurl *url = [nsurl urlwithstring:loginobj.loginurl];      nsurlrequest *request = [nsurlrequest requestwithurl:url];      [mywebview loadrequest:request];   }    -(ibaction)opensafari:(id)sender{      [[uiapplication sharedapplication] openurl:mywebview.request.url];  }    -(void) webviewdidstartload:(uiwebview *)webview{            nslog(@"viewdidstartload desc: %@", loginobj.logindesc);      nslog(@"viewdidstartload url: %@", loginobj.loginurl);      [b]exc_bad_access ->[/b]nslog(@"viewdidstartload username: %@", loginobj.loginusername);      [b]exc_bad_access ->[/b]nslog(@"viewdidstartload password: %@", loginobj.loginpassword);            //--illusion webpage has started loading..      nsstring *currenturl = mywebview.request.url.absolutestring;      if (!(currenturl == null)) {          urltextfield.text = currenturl;      }            [activity startanimating];  }    - (void)webviewdidfinishload:(uiwebview *)webview {            nslog(@"webviewdidfinishload desc: %@", loginobj.logindesc);      nslog(@"webviewdidfinishload url: %@", loginobj.loginurl);      [b]exc_bad_access ->[/b]nslog(@"webviewdidfinishload username: %@", loginobj.loginusername);      [b]exc_bad_access ->[/b]nslog(@"webviewdidfinishload password: %@", loginobj.loginpassword);        [activity stopanimating];            nsstring *usramazon = [nsstring stringwithformat:@"document.getelementbyid('ap_email').value='tom@tom.com';"];      nsstring *passamazon = [nsstring stringwithformat:@"document.getelementbyid('ap_password').value='secret';"];      [mywebview stringbyevaluatingjavascriptfromstring:usramazon];      [mywebview stringbyevaluatingjavascriptfromstring:passamazon];            //--extracting title html , printing on uiwebview's title      nsstring *webtitle = [webview stringbyevaluatingjavascriptfromstring:@"document.title"];       self.title = webtitle;  }    - (void)didreceivememorywarning  {      // releases view if doesn't have superview.      [super didreceivememorywarning];            // release cached data, images, etc aren't in use.  }    #pragma mark - view lifecycle    - (void)viewdidload{             [super viewdidload];        nslog(@"viewdidload desc: %@", loginobj.logindesc);      nslog(@"viewdidload url: %@", loginobj.loginurl);      nslog(@"viewdidload username: %@", loginobj.loginusername);      nslog(@"viewdidload password: %@", loginobj.loginpassword);        mywebview.delegate = self;        //--clear cache , cookies everytime webview shown, brand new      //set cache      nsurlcache *sharedcache = [[nsurlcache alloc] initwithmemorycapacity:0 diskcapacity:0 diskpath:nil];      [nsurlcache setsharedurlcache:sharedcache];            //clear cookies      for(nshttpcookie *cookie in [[nshttpcookiestorage sharedhttpcookiestorage] cookies]) {                    //if([[cookie domain] isequaltostring:somensstringurldomain]) {                    [[nshttpcookiestorage sharedhttpcookiestorage] deletecookie:cookie];                }        [self showwebview];        // additional setup after loading view nib.  }    -(void)viewdidunload{      [self setmywebview:nil];      [super viewdidunload];      // release retained subviews of main view.      // e.g. self.myoutlet = nil;  }    -(void) viewwillappear:(bool)animated{      nslog(@"viewwillappear desc: %@", loginobj.logindesc);      nslog(@"viewwillappear url: %@", loginobj.loginurl);      nslog(@"viewwillappear username: %@", loginobj.loginusername);      nslog(@"viewwillappear password: %@", loginobj.loginpassword);      [super viewwillappear:animated];            //--set title of webview first create illusion loading page already. later on when page finish load, grab title html , replace this.      self.title = loginobj.logindesc;      urltextfield.text = loginobj.loginurl;  }    - (void)viewdidappear:(bool)animated{      [super viewdidappear:animated];  }    - (void)viewwilldisappear:(bool)animated{  	[super viewwilldisappear:animated];  }    - (void)viewdiddisappear:(bool)animated{  	[super viewdiddisappear:animated];  }    - (bool)shouldautorotatetointerfaceorientation:(uiinterfaceorientation)interfaceorientation  {      // return yes supported orientations  	return yes;  }    -(void) dealloc{      [mywebview release];      [activity release];      [urltextfield release];      //[loginobj release];      [super dealloc];  }    @end  
the below debugger shows when first exc_bad_access appear. if remove line exc_bad_access error, next exc_bad_access occur shown above in order, respectively.

code:
  2012-03-06 06:24:36.527 fyp_test_1[208:707] hydratedetailviewdata called  2012-03-06 06:24:36.529 fyp_test_1[208:707] detailview not hydrated  2012-03-06 06:24:36.539 fyp_test_1[208:707] self.loginurl = http://www.facebook.com  2012-03-06 06:24:36.542 fyp_test_1[208:707] self.loginusername = tom@tom.com  2012-03-06 06:24:36.546 fyp_test_1[208:707] self.loginpassword = secret  2012-03-06 06:24:37.074 fyp_test_1[208:707] viewdidload desc: facebook  2012-03-06 06:24:37.076 fyp_test_1[208:707] viewdidload url: http://www.facebook.com  2012-03-06 06:24:37.078 fyp_test_1[208:707] viewdidload username: tom@tom.com  2012-03-06 06:24:37.080 fyp_test_1[208:707] viewdidload password: secret  2012-03-06 06:24:37.095 fyp_test_1[208:707] showwebview desc: facebook  2012-03-06 06:24:37.096 fyp_test_1[208:707] showwebview url: http://www.facebook.com  2012-03-06 06:24:37.099 fyp_test_1[208:707] showwebview username: tom@tom.com  2012-03-06 06:24:37.101 fyp_test_1[208:707] showwebview password: secret  2012-03-06 06:24:37.105 fyp_test_1[208:707] viewwillappear desc: facebook  2012-03-06 06:24:37.107 fyp_test_1[208:707] viewwillappear url: http://www.facebook.com  2012-03-06 06:24:37.109 fyp_test_1[208:707] viewwillappear username: tom@tom.com  2012-03-06 06:24:37.111 fyp_test_1[208:707] viewwillappear password: secret  [switching process 8963 thread 0x2303]  warning: unable read symbols /users/tom/library/developer/xcode/ios devicesupport/5.0.1 (9a405)/symbols/system/library/extensions/imgsgx535gldriver.bundle/imgsgx535gldriver (file not found).  warning: no copy of imgsgx535gldriver.bundle/imgsgx535gldriver found locally, reading memory on remote device.  may slow down debug session.  [switching process 8451 thread 0x2103]  2012-03-06 06:24:37.818 fyp_test_1[208:707] viewdidstartload desc: facebook  2012-03-06 06:24:37.820 fyp_test_1[208:707] viewdidstartload url: http://www.facebook.com  [switching process 7171 thread 0x1c03]  (gdb) 
thank taking time read lengthy code.

looking forward advice!
 

the reason crash objects you're trying log invalid in way. in cases caused under-retain bug. haven't shown how loginobject or 2 properties causing crash declared, created, or assigned.
 


Forums iPhone, iPad, and iPod Touch iOS Programming


  • iPhone
  • Mac OS & System Software
  • iPad
  • Apple Watch
  • Notebooks
  • iTunes
  • Apple ID
  • iCloud
  • Desktop Computers
  • Apple Music
  • Professional Applications
  • iPod
  • iWork
  • Apple TV
  • iLife
  • Wireless

No comments:

Post a Comment