summaryrefslogtreecommitdiffhomepage
path: root/objective-c.html.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'objective-c.html.markdown')
-rw-r--r--objective-c.html.markdown10
1 files changed, 8 insertions, 2 deletions
diff --git a/objective-c.html.markdown b/objective-c.html.markdown
index 097cb846..2b599378 100644
--- a/objective-c.html.markdown
+++ b/objective-c.html.markdown
@@ -110,7 +110,7 @@ int main (int argc, const char * argv[])
NSLog(@"%f", piDouble);
NSLog(@"%4.2f", piDouble); // prints => "3.14"
- // NSDecimalNumber is a fixed-point class that's more precise then float or double
+ // NSDecimalNumber is a fixed-point class that's more precise than float or double
NSDecimalNumber *oneDecNum = [NSDecimalNumber decimalNumberWithString:@"10.99"];
NSDecimalNumber *twoDecNum = [NSDecimalNumber decimalNumberWithString:@"5.002"];
// NSDecimalNumber isn't able to use standard +, -, *, / operators so it provides its own:
@@ -133,6 +133,8 @@ int main (int argc, const char * argv[])
NSArray *anArray = @[@1, @2, @3, @4];
NSNumber *thirdNumber = anArray[2];
NSLog(@"Third number = %@", thirdNumber); // prints => "Third number = 3"
+ // Since Xcode 7, NSArray objects can be typed (Generics)
+ NSArray<NSString *> *stringArray = @[@"hello", @"world"];
// NSMutableArray is a mutable version of NSArray, allowing you to change
// the items in the array and to extend or shrink the array object.
// Convenient, but not as efficient as NSArray.
@@ -146,6 +148,8 @@ int main (int argc, const char * argv[])
NSDictionary *aDictionary = @{ @"key1" : @"value1", @"key2" : @"value2" };
NSObject *valueObject = aDictionary[@"A Key"];
NSLog(@"Object = %@", valueObject); // prints => "Object = (null)"
+ // Since Xcode 7, NSDictionary objects can be typed (Generics)
+ NSDictionary<NSString *, NSNumber *> *numberDictionary = @{@"a": @1, @"b": @2};
// NSMutableDictionary also available as a mutable dictionary object
NSMutableDictionary *mutableDictionary = [NSMutableDictionary dictionaryWithCapacity:2];
[mutableDictionary setObject:@"value1" forKey:@"key1"];
@@ -161,6 +165,8 @@ int main (int argc, const char * argv[])
// Set object
NSSet *set = [NSSet setWithObjects:@"Hello", @"Hello", @"World", nil];
NSLog(@"%@", set); // prints => {(Hello, World)} (may be in different order)
+ // Since Xcode 7, NSSet objects can be typed (Generics)
+ NSSet<NSString *> *stringSet = [NSSet setWithObjects:@"hello", @"world", nil];
// NSMutableSet also available as a mutable set object
NSMutableSet *mutableSet = [NSMutableSet setWithCapacity:2];
[mutableSet addObject:@"Hello"];
@@ -700,7 +706,7 @@ if ([myClass conformsToProtocol:@protocol(CarUtilities)]) {
// NOTE: If two or more protocols rely on each other, make sure to forward-declare them:
#import "Brother.h"
-@protocol Brother; // Forward-declare statement. Without it, compiler would through error.
+@protocol Brother; // Forward-declare statement. Without it, compiler will throw error.
@protocol Sister <NSObject>