I started learning Objective-C when Apple released the iPhone SDK over a year ago, and started programming in it seriously at the beginning of this year. While there are many things I like about Objective-C as a OO language, there is one thing that continuously bother me.
- Implement the method without declaring it in the header file. This is (almost) equivalent to private method in C#/Java.
- Declare the method signature in the header file, and implement the method in the .m file. This is like declaring a method public in C#/Java.
Leah and I went to Philadelphia on a weekend trip this past weekend. For me, it was two days of experiments. All of which are for our trip to Naples/Pompeii later in July.
A bunch of us from the NY Alt.NET and Stephen Forte have organized a Agile Firestarter event on June 27th. Being the build monkey of the group, I'll be presenting the Continuous Integration session.
UIView
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
NSInteger tapCount = [touch tapCount];
if (tapCount == 2) {
[scrollView_ setZoomScale:zoomScale animated:YES];
}
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
[self.nextResponder touchesEnded:touches withEvent:event];
}
Let's say you want to use UIActionSheet to show three buttons to the user with a cancel buttons in a UIView, which itself is managed by a UITabBarController:
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Action Title" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Option 1", @"Option 2", @"Option 3", nil];
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[actionSheet showInView:self.view];
[actionSheet release];
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Action Title" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Option 1", @"Option 2", @"Option 3", nil];
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
ApplicationDelegate *appDelegate = (ApplicationDelegate *)[[UIApplication sharedApplication] delegate];
UITabBarController *tabBarController = appDelegate.tabBarController_;
[actionSheet showInView:tabBarController.view];
[actionSheet release];
Last Tuesday I travelled down to Philadelphia to speak at the Philly ALT.NET meeting. Brian Donahue, the group organiser, invited me to talk about my experience of developing iPhone application from a .NET perspective. Over 20 people turned up and I was surprised that most of them already owned an iPhone and a Mac (remember this is a .NET group afterall).
Last Wednesday's NY Alt.NET meeting topic was Continuous Integration. Being a ThoughtWorker and had worked on build and deployment project at an enterprise level, it fells naturally to me to not only prepare the presentation material but also present it.
Don't know what that stands for*? Watch Alex Blumberg and Adam Davidson from NPR's Planet Money explain our economic crisis on KCRW
The problem with UIScrollView is that it seems to have been designed in two separate halves: the scrolling mechanism being... read more
on UIScrollView and Multi-Touch zooming