i've a piece of code that should get the current location and than put lat and long in a string.
when a new location is found i put it in a NSString
currentLatit = [NSString stringWithFormat:#"%f",newLocation.coordinate.latitude];
currentLongit = [NSString stringWithFormat:#"%f",newLocation.coordinate.longitude];
Than when i press a button i do:
NSLog(currentLatit);
[[UIApplication sharedApplication] openURL:[[NSURL alloc] initWithString: [NSString stringWithFormat:#"http://maps.google.com/maps?saddr=%#,%#&daddr=%#,%#",currentLatit,currentLongit,detailLatitudine,detailLongitudine]]];
but when i execute this, i get this error:
-[__NSCFArray length]: unrecognized selector sent to instance 0x1e1830
2011-11-15 11:29:07.567 Marcovaldo[771:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray length]: unrecognized selector sent to instance 0x1e1830'
*** First throw call stack:
(0x30ae78bf 0x37c8c1e5 0x30aeaacb 0x30ae9945 0x30a44680 0x30a310a9 0x30ac5a97 0x30a42217 0x30a55b8f 0x37b09b9b 0x37b09b3b 0x7253 0x30a41435 0x32a9c9eb 0x32a9c9a7 0x32a9c985 0x32a9c6f5 0x32a9c321 0x32a8f99b 0x30abbb4b 0x30ab9d87 0x30aba0e1 0x30a3d4dd 0x30a3d3a5 0x3366bfed 0x32aaf743 0x2221 0x21e0)
terminate called throwing an exception(gdb)
The error occur on the NSLog execution
realy cannot understand what's wrong whit this simple code...
thanks for any help
-UPDATE-
changed the NSLog as follow:
NSLog(#"%#",currentLatit);
Now the app crash with BAD_ACCESS_EXCEPTION on the NSLog
No, it seems the app crashed at some point other than NSLog. Please clean and build. Or Enable NSZombie and get the exact error location.
Update:
Just do like as following and try.
if( currentLatit )
[currentLatit release];
if( currentLongit )
[currentLongit release];
currentLatit = [[NSString stringWithFormat:#"%f",newLocation.coordinate.latitude] retain];
currentLongit = [[NSString stringWithFormat:#"%f",newLocation.coordinate.longitude] retain];
Related
I am getting the following exception, which is terminating the app.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x7abe4f90'
Following is the code:
- (NSMutableData*)dataForConnection:(URLConnection*)connection {
NSMutableData *data = [receivedData objectForKey:connection.tagKey]; // Exception Here
return data;
}
Could anyone please suggest how to fix it? Thank you in advance!
Problem is due to not allocating receivedData properly, since you have declared it as instance variable, so you should make it using the property declaration like this:
#property(nonatomic, strong) NSMutableDictionary *receivedData;
This will ensure that receivedData does not get released and reference this using self.receivedData in your code.
Maybe this is helpful
[__NSArrayM objectForKey:]
NSArray have not method called objectForKey:
Your object receivedData is NSArray class , change to NSDictionary.
I'm programming an application in Swift and Objective-C and when I run the test app on the iPhone everything works, but when i was trying to start a call the application crashed showing this:
*** First throw call stack:
(0x181be11b8 0x18061855c 0x181be1100 0x182610eb8 0x100265a2c 0x187acbd30 0x187acbcb0 0x187ab6128 0x187acb59c 0x187acb0c4 0x187ac6328 0x187a96da0 0x18828075c 0x18827a130 0x181b8eb5c 0x181b8e4a4 0x181b8c0a4 0x181aba2b8 0x18356e198 0x187b017fc 0x187afc534 0x1002bc898 0x180a9d5b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) terminating
This is the button code:
- (IBAction)startCallButton:(id)sender {
TCallViewController *callViewController = [[TCallViewController alloc] init];
[self.navigationController pushViewController:callViewController animated:YES];
NSString *handle = [[NSString alloc] initWithString:_handle];
BOOL Video = _video;
if ((handle = callViewController.handle) ){
Video = callViewController.video;
[callManager startCallWithHandle:(handle) video:Video];
}
}
how can I solve this problem?
This question already has answers here:
How can I debug 'unrecognized selector sent to instance' error
(9 answers)
Closed 7 years ago.
I have a callback method when a socket receives data like this...
+ (void) dataReceived:(NSData *)data {
NSData *dataCopy = [data copy];
NSString *msg = [[NSString alloc] initWithData:dataCopy encoding:NSUTF8StringEncoding];
NSLog(#"msg: %#", msg);
}
I can see in the debugger that both data and dataCopy contain the correct string data. The dataCopy is made without an issue but when the msg line is called, I blow up w/ this.
2015-04-02 15:45:10.179 Sandbox[15218:539849] -[__NSCFString bytes]:
unrecognized selector sent to instance 0x7f9c71447870 2015-04-02
15:45:10.184 Sandbox[15218:539849] *** Terminating app due to uncaught
exception 'NSInvalidArgumentException', reason: '-[__NSCFString
bytes]: unrecognized selector sent to instance 0x7f9c71447870'
I don't understand, I can see the data is correct, I thought making the copy is what prevents access to overwritten memory. Any idea what is going on here?
Seems that your "delegate" method gets called with a NSString instead of a NSData. Copying the received object won't help you in this case, as you're just copying a string into another string. You'll need to dig deeper and see why dataReceived: doesn't receive the expected NSData object.
I am using BlackRaccoon to download a file from FTP server. Following is the code:
- (IBAction)download:(id)sender {
downloadData = [NSMutableData dataWithCapacity: 1];
downloadFile = [[BRRequestDownload alloc] initWithDelegate: self];
downloadFile.path = #"psnewsletter.pdf";
downloadFile.hostname = #"server";
downloadFile.username = #"user";
downloadFile.password = #"pswd";
[downloadFile start];
}
Its gives following error
2014-02-20 11:48:43.526 BlackHillPrimarySchool[2036:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MainViewController requestFailed:]: unrecognized selector sent to instance 0xcd609f0'
Any help will be appreciated.
requestFailed: is one of the BRRequest delegate method that you must implement in your view controller.
- (void)requestFailed:(BRRequest *)request {
BRRequestError *reqError = request.error;
// check the error, handle as needed.
}
I'm not sure how your code even compiled. This is a required method of the protocol.
Request:
- (void) getMyImageWithContestOfFace{
currentApiCall = getMyImageFb;
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
#"SELECT pic FROM user WHERE uid=me()",#"query",
nil];
AppDelegate *delegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
[[delegate facebook] requestWithMethodName:#"fql.query"
andParams:params
andHttpMethod:#"POST"
andDelegate:self];
}
Parsing:
...
case getMyImageFb:{
flag = TRUE;
imageWithFace = [[UIImage alloc] init];
imageWithFace = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[result objectForKey:#"pic"]]]];
}
break;
...
When i call it i catch very strange exeption:
*2011-11-10 00:30:30.661 FaceGraph[1699:f803] I have some information
2011-11-10 00:30:30.664 FaceGraph[1699:f803] -[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x6d3d470
2011-11-10 00:30:30.666 FaceGraph[1699:f803] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x6d3d470'
First throw call stack:
(0x15d9052 0x176ad0a 0x15daced 0x153ff00 0x153fce2 0x254db 0xb6d6 0xbcf7 0xc9ba59 0xc99e94 0xc9aeb7 0xc99e4f 0xc99fd5 0xbdef6a 0x3b8bbbd 0x3c585ea 0x3b82298 0x3c5816b 0x3b82137 0x15ad97f 0x1510b73 0x1510454 0x150fdb4 0x150fccb 0x14c2879 0x14c293e 0x2a6a9b 0x2332 0x22a5)
terminate called throwing an exceptionsharedlibrary apply-load-rules all
Current language: auto; currently objective-c
No idea why. The most strange that i did it before ABSOLUTELY the same, and it worked fine.
I can't find the difference between my old projects and current. Maybe somebody have the same problem?? If you need more code - ask for it.
thanks
Well, the exception seems to be quite clear: result is probably an array and not a dictionary.
PS: The line imageWithFace = [[UIImage alloc] init]; is totally superfluous given the line that follows it. You should remove it.
I forgot to add:
if ([result isKindOfClass:[NSArray class]]){
result = [result objectAtIndex:0];
}
in result-parsing function.