2.9 KiB
2.9 KiB
PNObject
[](https://travis-ci.org/Giuseppe Nucifora/PNObject)
Usage
To run the example project, clone the repo, and run pod install from the Example directory first.
Requirements
Installation
PNObject is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "PNObject"
#Usage Example
##PNObject Subclass
//Customer.h
#import <PNObject/PNObject.h>
@interface Customer : PNObject <PNObjectSubclassing>
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *lastName;
@property (nonatomic, strong) NSString *email;
@property (nonatomic, strong) NSDate *birthDate;
@property (nonatomic, strong) PNAddress *address;
@end
#import "Customer.h"
@implementation Customer
+ (NSString *) objectClassName {
return @"Customer";
}
+ (NSDictionary *) objcetMapping {
NSDictionary *mapping = @{
@"name":@"first_name",
@"surname":@"last_name",
@"email":@"email",
@"birthDate":@"birth_date",
@"address":@{
@"key":@"address",
@"type":@"PNAddress"
},
};
return mapping;
}
##Configure endpoints
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[PNObjectConfig initSharedInstanceForEnvironments:
@{
EnvironmentDevelopment : @"http://domain.local/api/v1/",
EnvironmentStage : @"https://domain.stage/api/v1/",
EnvironmentProduction : @"http://domain.prod/api/v1/"
}
userSubclass:[PNUser class]
withOauth:YES
];
...
}
###Set custom header
[[PNObjectConfig sharedInstance] setHTTPHeaderValue:@"application/x-www-form-urlencoded" forKey:@"Content-Type"];
###Set clients ID e client Secret for environments
[[PNObjectConfig sharedInstance] setClientID:@"XXXXXXXX" clientSecret:@"XXXXXXX" forEnv:EnvironmentProduction];
[[PNObjectConfig sharedInstance] setClientID:@"XXXXXXXX" clientSecret:@"XXXXXXX" forEnv:EnvironmentStage];
[[PNObjectConfig sharedInstance] setClientID:@"XXXXXXXX" clientSecret:@"XXXXXXX" forEnv:EnvironmentDevelopment];
###Enable specific Environment
#ifdef DEBUG
[[PNObjectConfig sharedInstance] setEnvironment:EnvironmentStage];
#endif
Author
Giuseppe Nucifora, me@giuseppenucifora.com
License
PNObject is available under the MIT license. See the LICENSE file for more info.