Skip to content

Instantly share code, notes, and snippets.

View petermolnar-dev's full-sized avatar

Peter Molnar petermolnar-dev

View GitHub Profile
@petermolnar-dev
petermolnar-dev / myObject.h
Created January 12, 2017 20:49
myObject.h - With convenience initilizer
@interface MyObject : NsObject
//1
- (instancetype)initWithTheOtherObjectDoingSomethingElse:(MyOtherObject *)alreadyExisitingObject isNightModeOn:(BOOL)isNightMode NS_DESIGNATED_INITIALIZER;
/**
Removing the default initalize
*/
- ( instancetype)init NS_UNAVAILABLE;
@petermolnar-dev
petermolnar-dev / myObject.m
Last active January 12, 2017 20:45
myObject implementation
@interface MyObject()
@property (nonatomic) BOOL isNightMode
@property (strong, nonatomic) MyOtherObject *theObjectDoingSomethingElse
@end
@implementation MyObject
#pragma mark - Initializers
//2
- (instancetype)initWithTheOtherObjectDoingSomethingElse:(MyOtherObject *)alreadyExisitingObject isNightModeOn:(BOOL)isNightMode {
@petermolnar-dev
petermolnar-dev / myObject.h
Last active January 12, 2017 20:43
myObject Header
@interface MyObject : NsObject
//1
- (instancetype)initWithTheOtherObjectDoingSomethingElse:(MyOtherObject *)alreadyExisitingObject isNightModeOn:(BOOL)isNightMode NS_DESIGNATED_INITIALIZER;
/**
Removing the default initalizer
*/
- (nullable instancetype)init NS_UNAVAILABLE;
@end
@petermolnar-dev
petermolnar-dev / myObject.m
Created January 12, 2017 20:39
myObject - A better approach
MyObject *myObject =[[MyObject alloc] initWithTheOtherObjectDoingSomethingElse:alreadyExisitingObject
isNightModeOn:isNightMode];
@petermolnar-dev
petermolnar-dev / myObject.m
Created January 12, 2017 20:36
myObject - Doing old fashioned way
MyObject *myObject =[[MyObject alloc] init];
myObject.isNightMode = YES;
myObject.theObjectDoingSomethingElse = alreadyExisitingObject;
@petermolnar-dev
petermolnar-dev / PMODownloaderTests.m
Created January 6, 2017 21:39
PMODownloaderTests.m - With delegate
#import <XCTest/XCTest.h>
#import "PMODownloader.h"
#import "PMODownloadNotifications.h"
@interface PMODownloaderTests : XCTestCase
@property (strong, nonatomic) PMODownloader *downloader;
@end
@implementation PMODownloaderTests
@petermolnar-dev
petermolnar-dev / PMOPictureControllerTests.m
Created January 6, 2017 21:35
PMOPictureControllerTests.m - With delegation
#import <XCTest/XCTest.h>
#import "PMOPictureController.h"
#import "PMODownloadNotifications.h"
@interface PMOPictureControllerTests : XCTestCase
@property (strong, nonatomic) PMOPictureController *pictureController;
@end
@implementation PMOPictureControllerTests
@petermolnar-dev
petermolnar-dev / PMODownloader.m
Created January 6, 2017 21:26
PMODownloader.m - With delegate
#import "PMODownloader.h"
#import "PMODownloadNotifications.h"
@implementation PMODownloader
//1
@synthesize receiver = _receiver;
//2
#pragma mark - Public API / Protocol implementation
@petermolnar-dev
petermolnar-dev / PMODownloader.h
Last active January 6, 2017 21:23
PMODownloader.h - With delegation
#import <Foundation/Foundation.h>
//1
#import "PMODownloaderFromURL.h"
//2
@interface PMODownloader : NSObject <PMODownloaderFromURL>
/**
Property to store the downloaded data in NSData format
*/
@petermolnar-dev
petermolnar-dev / PMOPictureController.m
Created January 5, 2017 20:36
PMOPictureController.m - With delegation
#import "PMOPictureController.h"
#import "PMODownloader.h"
#import "PMOPictureWithURL.h"
#import "PMODownloadNotifications.h"
@interface PMOPictureController()
/**
Our private data class, storing and hiding the information.