i'm receiving memory leaks when using this code on device with instruments. the code seems fine to me so i don't understand the leaks. leaking objects are GSEvent and GeneralBlock-16. you can download my small sample project i've created using the above code at this address: http://tinyurl.com/yg8nh5s
On Tue, Dec 8, 2009 at 7:04 PM, Chunk 1978 <chunk1...@gmail.com> wrote: > i'm very grateful for your help. thanks so much for posting such a > complete solution. i'm certain there will be others like myself who > will find your code extremely helpful. thanks again. > > On Tue, Dec 8, 2009 at 5:24 PM, mmalc Crawford <mmalc_li...@me.com> wrote: >> >> On Dec 8, 2009, at 12:33 pm, mmalc Crawford wrote: >> Get the logic right... >> >>> - (void)setUpTouchHandling { >>> >>> touchToLabelMapping = CFDictionaryCreateMutable (kCFAllocatorDefault, 5, >>> &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); >>> availableLabels = [[NSMutableArray alloc] initWithObjects:touchLabel1, >>> touchLabel2, touchLabel3, touchLabel4, touchLabel5, nil]; >>> } >>> >> - (void)setUpTouchHandling { >> >> touchToLabelMapping = CFDictionaryCreateMutable (kCFAllocatorDefault, 5, >> &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); >> availableLabels = [[NSMutableArray alloc] initWithObjects:touchLabel1, >> touchLabel2, touchLabel3, touchLabel4, touchLabel5, nil]; >> setUp = YES; >> } >> >> >> ... and improve the user experience accordingly: >> >>> - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { >>> >>> for (UITouch *touch in touches) { >>> if (touch.view == self) { >>> UILabel *label = (UILabel >>> *)CFDictionaryGetValue(touchToLabelMapping, touch); >>> label.text = @"{0, 0}"; >>> CFDictionaryRemoveValue (touchToLabelMapping, touch); >>> [availableLabels addObject:label]; >>> } >>> } >>> } >>> >> - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { >> >> for (UITouch *touch in touches) { >> if (touch.view == self) { >> >> UILabel *label = (UILabel >> *)CFDictionaryGetValue(touchToLabelMapping, touch); >> label.text = @"{0, 0}"; >> CFDictionaryRemoveValue (touchToLabelMapping, touch); >> [availableLabels insertObject:label atIndex:0]; >> } >> } >> } >> >> >> (I'm using setUpTouchHandling so that this will work however you configure >> your view or view controller -- ideally you choose a more appropriate >> initialisation locus.) >> >> mmalc >> >> >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/cocoa-dev/chunk1978%40gmail.com >> >> This email sent to chunk1...@gmail.com >> > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com