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.
when run program , click on row in tableview, pushes webviewcontroller , exc_bad_access @ 4 points show below.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; }
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:#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
thank taking time read lengthy code.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)
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