From 4c1a57714b6ee0db2ed93dd04811333e2c4de326 Mon Sep 17 00:00:00 2001 From: eugene Date: Wed, 3 Jul 2013 11:57:52 -0400 Subject: added Objective-C --- objvectiv-C.html.markdown | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 objvectiv-C.html.markdown (limited to 'objvectiv-C.html.markdown') diff --git a/objvectiv-C.html.markdown b/objvectiv-C.html.markdown new file mode 100644 index 00000000..02975eb6 --- /dev/null +++ b/objvectiv-C.html.markdown @@ -0,0 +1,67 @@ +--- +language: Objectiv-C +author: Eugene Yagrushkin +author_url: www.about.me/yagrushkin +filename: learnc.Objectiv-C +--- + +Objective-C is the main programming language used by Apple for the OS X and iOS operating systems and their respective APIs, Cocoa and Cocoa Touch. +It's is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. + +```Objective-C +// Single-line comments start with // + +/* +Multi-line comments look like this. +*/ + +// Import headers with #import +#import +#import "SomeAppDelegate.h" + +// Declare your class in a header(.h) file: + +@interface UserObject : NSObject{ +// instance variables +} + +// Class method + + (NSString*) ClassMethod; + +// Instance method + - (NSString*) instanceMethodWithParmeter:(NSString*)string; + +@end + +// Add class methods in an implementation (.m) file: + +@implementation UserObject + ++ (NSString*) ClassMethod{ + return @"SomeString"; +} + +- (NSString*) instanceMethodWithParmeter:(NSString*)string; +{ + return [NSString stringWithString:string]; +} + +@end + +// Create an object instance by allocating memory and initializing it. An object is not fully functional until both steps have been completed. +UserObject *someObject = [[UserObject alloc] init]; + +// The Objective-C model of object-oriented programming is based on message passing to object instances. +// In Objective-C one does not simply call a method; one sends a message. + +[someObject instanceMethodWithParmeter@"Steve Jobs"]; + + +``` +## Further Reading + +[Wikipedia Objective-C](http://en.wikipedia.org/wiki/Objective-C) + +[Objectively Speaking: A Crash Course in Objective-C](http://www.raywenderlich.com/12444/objectively-speaking-a-crash-course-in-objective-c) + +[iOS For High School Students: Getting Started](http://www.raywenderlich.com/5600/ios-for-high-school-students-getting-started) -- cgit v1.2.3 From 3f814e58e9ab19348a985cf02e1fbdac407f3a6d Mon Sep 17 00:00:00 2001 From: Eugene Yagrushkin Date: Wed, 10 Jul 2013 14:20:46 -0400 Subject: Update objvectiv-C.html.markdown --- objvectiv-C.html.markdown | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'objvectiv-C.html.markdown') diff --git a/objvectiv-C.html.markdown b/objvectiv-C.html.markdown index 02975eb6..787a9219 100644 --- a/objvectiv-C.html.markdown +++ b/objvectiv-C.html.markdown @@ -15,10 +15,32 @@ It's is a general-purpose, object-oriented programming language that adds Smallt Multi-line comments look like this. */ +##Basic types +// all the primitive variable types are the same as in C +// char, int, long, double, float + + +// Simple, common classes +// number +NSNumber *firstNumber = @1; +NSNumber *secondNumber = @23.0; +NSNumber *boolNumber = @YES; + +// string +NSString *aString = @"some string"; + +// array +NSArray *array = @[ @1, @2]; + +// dictionary +NSDictionay *dictionary = @{ @"aKey" : @"aValue", @"aKey2" : @"aValue2" }; + // Import headers with #import #import #import "SomeAppDelegate.h" +##Coding classes + // Declare your class in a header(.h) file: @interface UserObject : NSObject{ @@ -43,19 +65,29 @@ Multi-line comments look like this. - (NSString*) instanceMethodWithParmeter:(NSString*)string; { - return [NSString stringWithString:string]; + return @"New string"; } +- (NSString*) otherMethodWithString:(NSString*)string; +{ + return [NSString stringWithString:string]; +} @end // Create an object instance by allocating memory and initializing it. An object is not fully functional until both steps have been completed. UserObject *someObject = [[UserObject alloc] init]; +##Calling Methods + // The Objective-C model of object-oriented programming is based on message passing to object instances. // In Objective-C one does not simply call a method; one sends a message. -[someObject instanceMethodWithParmeter@"Steve Jobs"]; +[someObject instanceMethodWithParmeter:@"Steve Jobs"]; + +##Nested Messages +// nested messages look like this: +[someObject instanceMethodWithParmeter:[someObject otherMethodWithString:@"Jony Ive"]]; ``` ## Further Reading -- cgit v1.2.3