Search Results

Search found 3457 results on 139 pages for 'cocoa'.

Page 115/139 | < Previous Page | 111 112 113 114 115 116 117 118 119 120 121 122  | Next Page >

  • How to debug KVO

    - by user8472
    In my program I use KVO manually to observe changes to values of object properties. I receive an EXC_BAD_ACCESS signal at the following line of code inside a custom setter: [self willChangeValueForKey:@"mykey"]; The weird thing is that this happens when a factory method calls the custom setter and there should not be any observers around. I do not know how to debug this situation. Update: The way to list all registered observers is observationInfo. It turned out that there was indeed an object listed that points to an invalid address. However, I have no idea at all how it got there. Update 2: Apparently, the same object and method callback can be registered several times for a given object - resulting in identical entries in the observed object's observationInfo. When removing the registration only one of these entries is removed. This behavior is a little counter-intuitive (and it certainly is a bug in my program to add multiple entries at all), but this does not explain how spurious observers can mysteriously show up in freshly allocated objects (unless there is some caching/reuse going on that I am unaware of). Modified question: How can I figure out WHERE and WHEN an object got registered as an observer? Update 3: Specific sample code. ContentObj is a class that has a dictionary as a property named mykey. It overrides: + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)theKey { BOOL automatic = NO; if ([theKey isEqualToString:@"mykey"]) { automatic = NO; } else { automatic=[super automaticallyNotifiesObserversForKey:theKey]; } return automatic; } A couple of properties have getters and setters as follows: - (CGFloat)value { return [[[self mykey] objectForKey:@"value"] floatValue]; } - (void)setValue:(CGFloat)aValue { [self willChangeValueForKey:@"mykey"]; [[self mykey] setObject:[NSNumber numberWithFloat:aValue] forKey:@"value"]; [self didChangeValueForKey:@"mykey"]; } The container class has a property contents of class NSMutableArray which holds instances of class ContentObj. It has a couple of methods that manually handle registrations: + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)theKey { BOOL automatic = NO; if ([theKey isEqualToString:@"contents"]) { automatic = NO; } else { automatic=[super automaticallyNotifiesObserversForKey:theKey]; } return automatic; } - (void)observeContent:(ContentObj *)cObj { [cObj addObserver:self forKeyPath:@"mykey" options:0 context:NULL]; } - (void)removeObserveContent:(ContentObj *)cObj { [cObj removeObserver:self forKeyPath:@"mykey"]; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (([keyPath isEqualToString:@"mykey"]) && ([object isKindOfClass:[ContentObj class]])) { [self willChangeValueForKey:@"contents"]; [self didChangeValueForKey:@"contents"]; } } There are several methods in the container class that modify contents. They look as follows: - (void)addContent:(ContentObj *)cObj { [self willChangeValueForKey:@"contents"]; [self observeDatum:cObj]; [[self contents] addObject:cObj]; [self didChangeValueForKey:@"contents"]; } And a couple of others that provide similar functionality to the array. They all work by adding/removing themselves as observers. Obviously, anything that results in multiple registrations is a bug and could sit somewhere hidden in these methods. My question targets strategies on how to debug this kind of situation. Alternatively, please feel free to provide an alternative strategy for implementing this kind of notification/observer pattern.

    Read the article

  • UIImage rounded corners

    - by catlan
    I try to get rounded corners on a UIImage, what I read so far, the easiest way is to use a mask images. For this I used code from TheElements iPhone Example and some image resize code I found. My problem is that resizedImage is always nil and I don't find the error... - (UIImage *)imageByScalingProportionallyToSize:(CGSize)targetSize { CGSize imageSize = [self size]; float width = imageSize.width; float height = imageSize.height; // scaleFactor will be the fraction that we'll // use to adjust the size. For example, if we shrink // an image by half, scaleFactor will be 0.5. the // scaledWidth and scaledHeight will be the original, // multiplied by the scaleFactor. // // IMPORTANT: the "targetHeight" is the size of the space // we're drawing into. The "scaledHeight" is the height that // the image actually is drawn at, once we take into // account the ideal of maintaining proportions float scaleFactor = 0.0; float scaledWidth = targetSize.width; float scaledHeight = targetSize.height; CGPoint thumbnailPoint = CGPointMake(0,0); // since not all images are square, we want to scale // proportionately. To do this, we find the longest // edge and use that as a guide. if ( CGSizeEqualToSize(imageSize, targetSize) == NO ) { // use the longeset edge as a guide. if the // image is wider than tall, we'll figure out // the scale factor by dividing it by the // intended width. Otherwise, we'll use the // height. float widthFactor = targetSize.width / width; float heightFactor = targetSize.height / height; if ( widthFactor < heightFactor ) scaleFactor = widthFactor; else scaleFactor = heightFactor; // ex: 500 * 0.5 = 250 (newWidth) scaledWidth = width * scaleFactor; scaledHeight = height * scaleFactor; // center the thumbnail in the frame. if // wider than tall, we need to adjust the // vertical drawing point (y axis) if ( widthFactor < heightFactor ) thumbnailPoint.y = (targetSize.height - scaledHeight) * 0.5; else if ( widthFactor > heightFactor ) thumbnailPoint.x = (targetSize.width - scaledWidth) * 0.5; } CGContextRef mainViewContentContext; CGColorSpaceRef colorSpace; colorSpace = CGColorSpaceCreateDeviceRGB(); // create a bitmap graphics context the size of the image mainViewContentContext = CGBitmapContextCreate (NULL, targetSize.width, targetSize.height, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast); // free the rgb colorspace CGColorSpaceRelease(colorSpace); if (mainViewContentContext==NULL) return NULL; //CGContextSetFillColorWithColor(mainViewContentContext, [[UIColor whiteColor] CGColor]); //CGContextFillRect(mainViewContentContext, CGRectMake(0, 0, targetSize.width, targetSize.height)); CGContextDrawImage(mainViewContentContext, CGRectMake(thumbnailPoint.x, thumbnailPoint.y, scaledWidth, scaledHeight), self.CGImage); // Create CGImageRef of the main view bitmap content, and then // release that bitmap context CGImageRef mainViewContentBitmapContext = CGBitmapContextCreateImage(mainViewContentContext); CGContextRelease(mainViewContentContext); CGImageRef maskImage = [[UIImage imageNamed:@"Mask.png"] CGImage]; CGImageRef resizedImage = CGImageCreateWithMask(mainViewContentBitmapContext, maskImage); CGImageRelease(mainViewContentBitmapContext); // convert the finished resized image to a UIImage UIImage *theImage = [UIImage imageWithCGImage:resizedImage]; // image is retained by the property setting above, so we can // release the original CGImageRelease(resizedImage); // return the image return theImage; }

    Read the article

  • Passing a pointer to a function in objective-c

    - by Chiodo
    Hi, i've a stupid questiona about passing pointer. I've this: @interface MyClass : NSObject myobj* foo; -(void)doSomething:(myobj*)aObj; @end @implementation MyClass -(void)doSomething:(myobj*)aObj { cFuncCall(&aObj); //alloc memory and init the object } -(id)init { //init stuff... [self doSomething:foo]; // foo retun 0x0!!! } @end why foo return nil??? It should be initialized by cFuncCall!

    Read the article

  • Is there a way to detect non-movement (touch events) ?

    - by hyn
    Is there a way to detect a finger's non-movement by using a combination of UITouch events? The event methods touchesEnded and touchesCancelled are only fired when the event is cancelled or the finger lifted. I would like to know when a touch has stopped moving, even while it is still touching the screen.

    Read the article

  • Objective C Naming Convention for an object that owns itself

    - by Ed Marty
    With the latest releases of XCode that contain static analyzers, some of my objects are throwing getting analyzer issues reported. Specifically, I have an object that owns itself and is responsible for releasing itself, but should also be returned to the caller and possibly retained there manually. If I have a method like + (Foo) newFoo the analyzer sees the word New and reports an issue in the caller saying that newFoo is expected to return an object with retain +1, and it isn't being released anywhere. If I name it + (Foo) getFoo the analyzer reports an issue in that method, saying there's a potential leak because it's not deallocated before returning. My class basically looks like this: + (Foo *) newFoo { Foo *myFoo = [[[Foo new] retain] autorelease]; [myFoo performSelectorInBackground:@selector(bar) withObject:nil]; return myFoo; } - (void) bar { //Do something that might take awhile [self release]; } The object owns itself and when its done, will release itself, but there's nowhere that it's being stored, so the static analyzer sees it as a leak somewhere. Is there some naming or coding convention to help?

    Read the article

  • how can I store the current status of the game in cocos2d ?

    - by srikanth rongali
    I am writing a shooting game in cocos2d. And each enemy enters the screen after the current one is dead. I have stores the enemies and their properties in plist. I need to save the current state of the game. If any phone call comes the game should be started from the current state. So, I usedNsUserDefaults in this way, - (void) applicationDidFinishLaunching:(UIApplication*)application { ... NSUserDefaults *myDefaultOptions = [[myDefaultOptions stringForKey:@"enemyNumber"]intValue] ; //tempCount4 is the current Enemy number. It was declared in another class. I am using extern and using the value here. tempCount4 = [[myDefaultOptions stringForKey:@"enemyNumber"]intValue] ; } - (void)applicationWillTerminate:(UIApplication *)application { [[CCDirector sharedDirector] end]; [myDefaultOptions setObject:tempCount4 forKey:@"enemyNumber"]; } The control is not entering in to the (void)applicationWillTerminate:(UIApplication *)application when I pressed the Home button. And when I touched the game icon on the screen the game is running from first screen and in log (terminal )it is not showing any values. And what should I store to resume my game from stored state. Can you explain where I was wrong ? Thank You.

    Read the article

  • I could not understand where the memory is leaking in my code ?

    - by srikanth rongali
    I have the following code. I do not understand the problem in it. Whenever I include this class in my class the code is going to infinite loop. I could not get where I am wrong. please help me. Just point the errors in the code. #import "readFileData.h" #import "DuelScreen.h" @implementation readFileData @synthesize enemyDescription, numberOfEnemies, numberOfValues; @synthesize enemyIndex, numberOfEnemyGunDrawImages, numberOfEnemyGunFireImages, numberOfEnemyDieImages; @synthesize countDownSpeed, enemyGunDrawInterval, enemyGunFire, enemyRefire; @synthesize enemyAccuracyProbability, enemyGunCoordinateX, enemyGunCoordinateY; -(id)init { if( (self = [super init]) ) { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *path = [documentsDirectory stringByAppendingPathComponent:@"enemyDetals.txt"]; NSString *contentsOfFile = [[NSString alloc ]initWithContentsOfFile:path]; NSArray *lines = [contentsOfFile componentsSeparatedByString:@"#"]; numberOfEnemies = [lines count]; int nEnemy; nEnemy = 0; NSArray *eachEnemy=[[lines objectAtIndex:nEnemy] componentsSeparatedByString:@"^"]; DuelScreen *enemyNumber1 = [[DuelScreen alloc] init]; NSLog(@"tempCount value in: readFile: %d", enemyNumber1.tempCount); enemyIndex = enemyNumber1.tempCount - 1; countDownSpeed = [[eachEnemy objectAtIndex:0]intValue]; enemyGunDrawInterval = [[eachEnemy objectAtIndex:1]floatValue]; enemyGunFire = [[eachEnemy objectAtIndex:2]floatValue]; enemyAccuracyProbability = [[eachEnemy objectAtIndex:3]floatValue]; enemyRefire = [[eachEnemy objectAtIndex:4]floatValue]; numberOfEnemyGunDrawImages = [[eachEnemy objectAtIndex:5]intValue]; numberOfEnemyGunFireImages = [[eachEnemy objectAtIndex:6]intValue]; numberOfEnemyDieImages = [[eachEnemy objectAtIndex:7]intValue]; enemyGunCoordinateX = [[eachEnemy objectAtIndex:8]floatValue]; enemyGunCoordinateY = [[eachEnemy objectAtIndex:9]floatValue]; enemyDescription = [eachEnemy objectAtIndex:10]; } return self; } @end

    Read the article

  • How to change text on a back button

    - by Ilya
    Hi, By default the back button uses as a text on it a title of a viewcontroller. Can I change text on the back button without changing a title of a view controller? I need this because I have a view controller which title is too long to display and in this case I would like to display just "Back" as a caption for back button. I tried the following which didn't work: self.navigationItem.leftBarButtonItem.title = @"Back"; Thanks.

    Read the article

  • One label, two different fonts?

    - by 4thSpace
    I need to format text in a label like this: username: some text from this user. This will create additional lines of text that will go on and on and on. Where "username" is bold. This will go into a UILabel, which is in a custom table cell. Is there a way to get this type of layout?

    Read the article

  • Display keyboard above toolbar?

    - by Sheehan Alam
    I have a view with a bottom toolbar and a UIWebview that is loading an HTML page with some textboxes. Is there anyway when the user clicks on a textbox, the keyboard appears above the toolbar, that way it doesn't hide its buttons?

    Read the article

  • simple image animation with the keyboard

    - by conorhiggins
    Hi the app I am currently working on requires a simple animation to be performed, which I am able to do but timing is an issue. The app uses the slightly opaque keyboard and I have set up a black background to make it more visually pleasing . The app is a utility app and as the user clicks on a settings button the app will flip which looks great. However there is a problem at the moment in that while the app is flipping the keyboard also closes which itself looks great also, however the background remains. I was wondering if there was a way of animating the background image to follow the keyboard's animation pattern and speed? If I set up a discrete animation time the chances are there will be some sort of overlap and either the image will show too long or the keyboard will show too long. Any suggestions? Another option is to make the keyboard show constantly if anyone knows how to do that? i would rather animate it though as it is quite a simple app and so I would like to make it as aesthetically pleasing as possible. /Conor

    Read the article

  • Sending an image in a faceless email

    - by anurag
    I am trying to send a faceless email (sending an email without showing the interface), using the code below. I also want to attach an image to this email. Is this possible? - (void) sendEmailTo:(NSString *)toStr withSubject:(NSString *)subjectStr withBody:(NSString *)bodyStr { NSString *emailString=[[NSString alloc] initWithFormat:@"mailto:?to=%@&subject=%@&body=%@", [toStr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding], [subjectStr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding], [bodyStr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:emailString]]; [emailString release]; }

    Read the article

  • Not found in protocol

    - by Alex
    I've subclassed MKAnnotation so that i can assign objects to annotations and then assign this object to a view controller like so: - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control { PlaceDetailView *detailView = [[PlaceDetailView alloc] initWithStyle:UITableViewStyleGrouped]; detailView.place = [view.annotation place]; [self.navigationController pushViewController:detailView animated:YES]; [detailView release]; } This is working great but i'm having the following issues: If i try and access the place getter method like so view.annotation.place i recieve an error: Accessing unknown place getter method If i acces the place getter method like so [view.annotation place] i receive a warning: place not found in protocol From my understanding this is because the place object is not defined in the MKAnnotation protocol, although i'm aware of this i'm not sure how to tell the complier that place does exist and it's not calling it blind.

    Read the article

  • initWithCoder not working as expected?

    - by fuzzygoat
    Does this seem right, the dataFilePath is on disk and contains the right data, but the MSMutable array does not contain any objects after the initWithCoder? I am probably just missing something, but I wanted to quickly check here before moving on. -(id)initWithCoder:(NSCoder *)decoder { self = [super init]; if(self) { [self setReactorCore:[decoder decodeObjectForKey:@"CORE"]]; } return self; } . -(id)init { self = [super init]; if(self) { if([[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) { NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]]; NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; NSMutableArray *newCore = [[NSMutableArray alloc] initWithCoder:unArchiver]; [self setReactorCore:newCore]; [newCore release]; [data release]; [unArchiver release]; } else { NSMutableArray *newCore = [[NSMutableArray alloc] init]; [self setReactorCore:newCore]; [newCore release]; } } return self; } gary

    Read the article

  • iPhone: Switching Views From Outside Root Controller

    - by senfo
    I am using a UINavigationController to switch between views. What I would like is for each view to have the ability to control when it is swapped out for another view by having buttons within the view. All of the samples I've seen thus far have placed buttons on a toolbar, which is located on the root view containing the Switch View Controller rather than the views, them self. Is it possible to do what I want? I can't figure how to wire up the connection back to the UINavigationController. I'm having a difficult time wording this, so please feel free to let me know if you need additional clarification.

    Read the article

  • Why am I losing precision when populating an NSDecimalNumber with a double?

    - by Mike
    Here is a simple code that shows what I think is a bug when dealing with double numbers... double wtf = 36.76662445068359375000; id xxx = [NSDecimalNumber numberWithDouble: wtf]; NSString *myBug = [xxx stringValue]; NSLog(@"%.20f", wtf); NSLog(@"%@", myBug); NSLog(@"-------\n"); the terminal will show two different numbers 36.76662445068359375000 and 36.76662445068359168 Is this a bug or am I missing something? if the second number is being rounded, it is a very strange rounding btw...

    Read the article

  • MKMapView maptype not changing!

    - by TheLearner
    I cannot understand why my MKMapView does not want to change to satellite view. This method is called and case 1 is called I have stepped over it but it simply does not change to satellite type it always changes to standard. It only works when it goes back to Map type. Anyone have any ideas? - (IBAction)mapSatelliteSegmentControlTapped:(UISegmentedControl *)sender { switch (sender.selectedSegmentIndex) { case 1: //Satellite self.mapView.mapType = MKMapTypeSatellite; default: //Map self.mapView.mapType = MKMapTypeStandard; } }

    Read the article

  • Cannot add an icon to Resources

    - by Stanley
    Have been inputting and testing some sample code and everything seems to be ok. Just that suddenly I am running into this very frustrating problem of trying to add an icon to the project. Have downloaded an icon file (extension : icns) to my desktop and dragged it to the "Resources" group in xCode. Then a dialogue comes up from xCode where I checked the 2 options : "Copy items into destination group's folder (if needed)" and "Recursively create groups for any added folders". But when I press the "Add" button, an "Alert" message box would come up. It says "Could not copy the icon to ...". Hope that someone knowledgable in this area would give me some hints...

    Read the article

  • Which are the most useful techniques for faster Bluetooth?

    - by Mike Howard
    Hi. I'm adding peer-to-peer bluetooth using GameKit to an iPhone shoot-em-up, so speed is vital. I'm sending about 40 messages a second each way, most of them with the faster GKSendDataUnreliable, all serializing with NSCoding. In testing between a 3G and 3GS, this is slowing the 3G down a lot more than I'd like. I'm wondering where I should concentrate my efforts to speed it up. How much slower is GKSendDataReliable? For the few packets that have to get there, would it be faster to send a GKSendDataUnreliable and have the peer send an acknowledgement so I can send again if I don't get the Ack within, say, 100ms? How much faster would it be to create the NSData instance using a regular C array rather than archiving with the NSCoding protocol? Is this serialization process (for about a dozen floats) just as slow as you'd expect from an object creation/deallocation overhead, or is something particularly slow happening? I heard that (for example) sending four seperate sets of data is much, much slower, than sending one piece of data four times the size. Would I make a significant saving by sending separate packets of data that wouldn't always go together in the same packet when they happen at the same time? Are there any other bluetooth performance secrets I've missed? Thanks for your help.

    Read the article

  • Sending a message from Objective-C and getting the return value?

    - by Nick Brooks
    I have this code NSString *tr = [self sendUrl:@"http://google.com/"]; But for some reason 'tr' will remain nil after it is executed. What am I doing wrong? sendUrl : - (NSString *)sendUrl:(NSString *) uri { NSLog(@"Requesting URI 1 ..."); // Prepare URL request to download statuses from Twitter NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:uri]]; NSLog(@"Requesting URI 2 ..."); // Perform request and get JSON back as a NSData object NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSLog(@"Requesting URI 3 ..."); // Get JSON as a NSString from NSData response NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; NSLog(@"Requesting URI 4 ..."); return json_string; }

    Read the article

  • UIButton title disappears on touch

    - by psychotik
    I want a touchable UILabel, but since that's not possible I decided to create a UIButton of type UIButtonTypeCustom. It looks how I want it to look, but when I touch it, the title disappears. I tried setting the title for state UIControlStateHighlighted but that didn't help. I know I'm doing something really silly here, but can't figure it out. I tried a few things (commented in the code below) which didn't seem to help. Here's how I'm configuring the button: UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(0, 0, width, height); button.clearsContextBeforeDrawing = YES; button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; button.enabled = YES; button.hidden = NO; button.highlighted = NO; button.opaque = YES; button.selected = NO; button.userInteractionEnabled = YES; button.showsTouchWhenHighlighted = NO; [button setTitle:@"Hello World" forState:UIControlStateNormal]; button.titleLabel.font = [UIFont boldSystemFontOfSize:16]; button.titleLabel.textColor = [UIColor blackColor]; // Things I tried that didn't help //[button setBackgroundColor:[UIColor clearColor]]; //button.titleLabel.text = @"Hello World"; //[button setTitle:@"Hello World" forState:UIControlStateHighlighted]; Any ideas?

    Read the article

  • NSPredicate aggregate function [SIZE] gives 'unsupported function expression' error

    - by jinglesthula
    iOS 4: I have entities in Core Data (using SQLite, which is a requirement) of: Request Response (which has a property personId) Revision Relationships are: Request <-- Revision Request <-- Response Revision <-- Response (e.g. each request may have many responses; each request/response pair may have many revisions) I'm trying to do a predicate to get all Responses with a given personId that have zero Revisions. Using: (personId == %d) && (Request.Revision[SIZE] == 0) in my predicate string gives me a runtime exception "Unsupported function expression Request.Revision[SIZE]" The documentation seems pretty sparse on aggregate functions, only noting that they exist, but with no syntax or examples. Not sure if it's my syntax or if the SIZE function really isn't supported in iOS.

    Read the article

< Previous Page | 111 112 113 114 115 116 117 118 119 120 121 122  | Next Page >