This PR contains all the work related to setting up this project as required to implement the [Assignment](https://repo.rock-n-code.com/rock-n-code/deep-linking-assignment/wiki/Assignment) on top, as intended. To summarise this work: - [x] created a new **Xcode** project; - [x] cloned the `Wikipedia` app and inserted it into the **Xcode** project; - [x] created the `Locations` app and also, its `Libraries` package; - [x] created the `Shared` package to share dependencies between the apps; - [x] added a `Makefile` file and implemented some **environment** and **help** commands. Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: rock-n-code/deep-linking-assignment#1
43 lines
905 B
Objective-C
43 lines
905 B
Objective-C
//
|
|
// NSArray+MTLManipulationAdditions.m
|
|
// Mantle
|
|
//
|
|
// Created by Josh Abernathy on 9/19/12.
|
|
// Copyright (c) 2012 GitHub. All rights reserved.
|
|
//
|
|
|
|
#import "NSArray+MTLManipulationAdditions.h"
|
|
|
|
@interface NSArray (MTLDeclarations)
|
|
|
|
// This declaration is needed so Mantle can be compiled with SDK 6 / 10.8.
|
|
- (id)firstObject;
|
|
|
|
@end
|
|
|
|
@implementation NSArray (MTLManipulationAdditions)
|
|
|
|
- (id)mtl_firstObject {
|
|
return self.firstObject;
|
|
}
|
|
|
|
- (instancetype)mtl_arrayByRemovingObject:(id)object {
|
|
NSMutableArray *result = [self mutableCopy];
|
|
[result removeObject:object];
|
|
return result;
|
|
}
|
|
|
|
- (instancetype)mtl_arrayByRemovingFirstObject {
|
|
if (self.count == 0) return self;
|
|
|
|
return [self subarrayWithRange:NSMakeRange(1, self.count - 1)];
|
|
}
|
|
|
|
- (instancetype)mtl_arrayByRemovingLastObject {
|
|
if (self.count == 0) return self;
|
|
|
|
return [self subarrayWithRange:NSMakeRange(0, self.count - 1)];
|
|
}
|
|
|
|
@end
|