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 / PMOBloodPressureConstants.swift
Created March 22, 2020 21:46
PMO BloodPressure Constants
enum SystolicRanges {
// In the Health App the range is set up between 40 and 300
static let baseRange = 40...119
static let normalRange = 120...129
static let highNormalRange = 130...139
static let mildHypertensionRange = 140...159
static let moderateHypertensionRange = 160...179
static let severeHyperTensionRange = 180...300
case outOfRange
}
@petermolnar-dev
petermolnar-dev / PMOSystolicRangesWithStaticEnums.swift
Created March 21, 2020 17:58
PMOSystolic Ranges with Static enum values
enum SystolicRanges {
// In the Health App the range is set up between 40 and 300
static let baseRange = 40...119
static let normalRange = 120...129
static let highNormalRange = 130...139
static let mildHypertensionRange = 140...159
static let moderateHypertensionRange = 160...179
static let severeHyperTensionRange = 180...300
case outOfRange
}
@petermolnar-dev
petermolnar-dev / PMOSystolicRangesEnumsWithRange.swift
Created March 21, 2020 17:47
PMOSystolicRanges Enums With Range
enum SystolicRanges {
// In the Health App the range is set up between 40 and 300
case baseRange = 40...119
case normalRange = 120...129
case highNormalRange = 130...139
case mildHypertensionRange = 140...159
case moderateHypertensionRange = 160...179
case severeHyperTensionRange = 180...300
case outOfRange
}
@petermolnar-dev
petermolnar-dev / PMOSystolicRangeBaseEnums.swift
Created March 21, 2020 17:43
PMOSystolicRange Base Enums
enum SystolicRanges {
case baseRange
case normalRange
case highNormalRange
case mildHypertensionRange
case moderateHypertensionRange
case severeHyperTensionRange
case outOfRange
}
@petermolnar-dev
petermolnar-dev / PMODownloader.m
Created January 26, 2017 21:24
PMODownloader.m - Block based solution
#import "PMODownloader.h"
#import "PMODownloadNotifications.h"
@implementation PMODownloader
#pragma mark - Public API / Protocol implementation
- (void)downloadDataFromURL:(nonnull NSURL *)url completionHander:(void(^_Nonnull)(NSData * _Nullable downloadedData))callback {
NSURLRequest *request = [NSURLRequest requestWithURL:url];
@petermolnar-dev
petermolnar-dev / PMODownloader.h
Created January 26, 2017 21:20
PMODownloader.h - Block based solution
#import <Foundation/Foundation.h>
@interface PMODownloader : NSObject
//1
/**
The download method, which triggers the download from the parameter url, and executes the passed block in case of the succesful download.
@param url the URL of the downloadable resource
@param callback the callback block, which will be executed with succesfull download
@petermolnar-dev
petermolnar-dev / PMOPictureController.m
Created January 26, 2017 20:45
PMOPictureController.m - Block based solution
#import "PMOPictureController.h"
#import "PMODownloader.h"
#import "PMOPictureWithURL.h"
#import "PMODownloadNotifications.h"
//1
typedef void (^DownloadCallBack)(NSData *);
@interface PMOPictureController()
@petermolnar-dev
petermolnar-dev / PMOPictureController.h
Created January 26, 2017 20:31
PMOPictureController.h - Block based solution
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface PMOPictureController : NSObject
/**
The designated initializer, the picture's url is mandatory to pass.
@param url The picture full url, as NSURL
@petermolnar-dev
petermolnar-dev / NonNull_Nullable.h
Created January 19, 2017 21:12
Nunnull_Nullable
@property (weak, nonatomic, nullable) id <PMOProgressDelegate> progressDelegate;
@property (unsafe_unretained, nonatomic) BOOL isAllModelParsed;
- (nullable instancetype)initWithModelControllers:(nullable NSArray <PMODrawModelController *>*) models NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)init NS_UNAVAILABLE;
- (void)startPopulateDrawNumbersWithCompletionHandler:(void (^_Nonnull)(BOOL wasSuccessfull, NSArray <NSNumber*>* _Nullable numbers))callback;
@petermolnar-dev
petermolnar-dev / myObject.m
Created January 12, 2017 20:50
myObject.m - With convenience initializer
@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 {