The RKGist application used in the RestKit Guide

Related tags

Networking RKGist
Overview

RKGist

RKGist is an example application built with RestKit for use in conjunction with the Getting Acquainted with RestKit tutorial.

Work in Progress

Please be advised that the tutorial is a work in progress and is incomplete but already provides a solid foundation on the basics of using RestKit. It is available in draft form to collect feedback and will be completed for the final release of RestKit v0.20.0.

Contact

Follow RestKit on Twitter (@RestKit)

Author

Blake Watters
@blakewatters

License

The RKGist application is available under the terms of the Apache 2 License. See the LICENSE file for complete details.

Comments
  • Pull requests ignored

    Pull requests ignored

    Thought of contributing to completion of the tutorial, but it looks as if pull requests are ignored. Seven months and nine months. Simple contributions. No action.

    Thank you for the tutorial. It is so far very encouraging.

    opened by wbreeze 3
  • Spelling / Wording Issues

    Spelling / Wording Issues

    In Getting Acquainted with RestKit I spotted to issues:

    1. In Guide Assumptions under Objective-C Runtime: "Objective-C provides dynamic functionality such as runtime type inspection, declared property introspection, and and message forwarding."
    2. In Updating the Table UI: "We've covered a lot of ground and put together a fair amount of functionality with a relatively small amount of code, but the application isn't all that existing to look at."

    Should it be exciting?

    opened by notnil 2
  • Fixes small error in relationship list

    Fixes small error in relationship list

    I was running through the tutorial (which is very helpful btw) but noticed that you'd included the same relationship twice. This PR should rectify it. Thanks.

    opened by maxehmookau 2
  • Update description label value

    Update description label value

    Not 100% sure this is what was intended, but it fixes the crash

    Here's the gist model

        createdAt = "2015-03-23 15:44:43 +0000";
        descriptionText = "";
        files =     (
        );
        gistID = 969;
        htmlURL = nil;
        jsonURL = "https://api.github.com/gists/969f2df7166ec8f11969";
        public = 1;
        updatedAt = nil;
        user = nil;
    

    Close #21

    opened by dkhamsing 1
  • responseDescriptorWithMapping deprecated method replacement

    responseDescriptorWithMapping deprecated method replacement

    Replaced deprecated method: responseDescriptorWithMapping:pathPattern:keyPath:statusCodes:

    With: responseDescriptorWithMapping:method:pathPattern:keyPath:statusCodes:

    opened by mshawCS 1
  • Error Core Data

    Error Core Data "NSUnderlyingException" after resetPersistentStores.

    Hello Blake. When I do next stuff:

    [[RKObjectManager sharedManager].operationQueue cancelAllOperations];
      [[NSURLCache sharedURLCache] removeAllCachedResponses];
      [RKObjectManager sharedManager].managedObjectStore.managedObjectCache = nil;
      NSError * error = nil;
      [[RKObjectManager sharedManager].managedObjectStore resetPersistentStores:&error];
      if(error){
        NSLog(@"error reset persistent store: %@", error.localizedDescription);
      }
    

    The NSLog(@"error reset persistent store: %@", error.localizedDescription); is clear. So reset did success. I not relaunch app, just show Login page for user and after login, in first mapping to entity, this errors appears:

    restkit.core_data.cache:RKEntityByAttributeCache.m:227 Failed to retrieve managed object with ID 0x8b768c0 . Error The operation couldn’t be completed. (Cocoa error 133000.)
    {
        NSUnderlyingException = "Object's persistent store is not reachable from this NSManagedObjectContext's coordinator";
    }
    E restkit.core_data.cache:RKEntityByAttributeCache.m:227 Failed to retrieve managed object with ID 0x8bce8e0 . Error The operation couldn’t be completed. (Cocoa error 133000.)
    {
        NSUnderlyingException = "Object's persistent store is not reachable from this NSManagedObjectContext's coordinator";
    }
    E restkit.core_data.cache:RKEntityByAttributeCache.m:227 Failed to retrieve managed object with ID 0x8bcea30 . Error The operation couldn’t be completed. (Cocoa error 133000.)
    {
        NSUnderlyingException = "Object's persistent store is not reachable from this NSManagedObjectContext's coordinator";
    }
    

    What I do wrong? Thank you.

    opened by surkis 1
  • Crash when tapping row

    Crash when tapping row

    2015-03-23 08:33:56.350 RKGist[45281:1988533] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<RKGGist 0x7c055040> valueForUndefinedKey:]: the entity Gist is not key value coding-compliant for the key "timeStamp".'
    *** First throw call stack:
    (
        0   CoreFoundation                      0x0283d466 __exceptionPreprocess + 182
        1   libobjc.A.dylib                     0x024c6a97 objc_exception_throw + 44
        2   CoreFoundation                      0x0283d081 -[NSException raise] + 17
        3   CoreData                            0x0072598a -[NSManagedObject valueForUndefinedKey:] + 362
        4   Foundation                          0x01e77f28 _NSGetUsingKeyValueGetter + 104
        5   CoreData                            0x006bced3 -[NSManagedObject valueForKey:] + 131
        6   RKGist                              0x000757a7 -[RKGDetailViewController configureView] + 183
        7   RKGist                              0x000756c3 -[RKGDetailViewController setDetailItem:] + 131
        8   ...
    
    opened by dkhamsing 1
  • How to tackle

    How to tackle "user": null

    Tried to enhance the sample project starting with the user information by doing

        // User Entity
        RKEntityMapping *userEntityMapping = [RKEntityMapping mappingForEntityForName:@"User" inManagedObjectStore:managedObjectStore];
        userEntityMapping.identificationAttributes = @[@"userID"];
        [userEntityMapping addAttributeMappingsFromDictionary:@{
            @"id"          : @"userID",
            @"avatar_url"  : @"avatarURL",
            @"gravatar_id" : @"gravatarID",
            @"url"         : @"jsonURL",
            @"login"       : @"login"}];
    
        RKResponseDescriptor *userResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:userEntityMapping pathPattern:@"/gists/public" keyPath:@"user" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
    
        [objectManager addResponseDescriptor:userResponseDescriptor];
    
    

    but as the json contains some users with null values I got an exception in

    static NSDictionary *RKEntityIdentificationAttributesForEntityMappingWithRepresentation(RKEntityMapping *entityMapping, NSDictionary *representation)
    

    I can see that in

    - (NSArray *)mapRepresentations:(id)representations atKeyPath:(NSString *)keyPath usingMapping:(RKMapping *)mapping
    

    the objectsToMap array some [NSNull null] value are inserted. Couldn't find any protocol/delegate calls to avoid having null values added to this array.

    Any help is appreciated.

    opened by HHuckebein 0
  • add guidelines when to use mainQueueManagedObjectContext vs persistentStoreManagedObjectContext vs newChildManagedObjectContextWithConcurrencyType

    add guidelines when to use mainQueueManagedObjectContext vs persistentStoreManagedObjectContext vs newChildManagedObjectContextWithConcurrencyType

    @blakewatters if you could add examples / guidelines (or in RKGist tutorial) some general rules on when to use mainQueueManagedObjectContext vs persistentStoreManagedObjectContext vs newChildManagedObjectContextWithConcurrencyType.

    We have an use case where a background is loading a huge list (in chunks of 100 objects at a time), but the UI wants to render that list and also makes references to some other objects already in CoreData... when all that happens, I see deadlocks and I'm still not sure exactly what's going on.

    opened by rodrigo-lima 6
Owner
The RestKit Project
The RestKit Project
SwiftCANLib is a library used to process Controller Area Network (CAN) frames utilizing the Linux kernel open source library SOCKETCAN.

SwiftCANLib SwiftCANLib is a library used to process Controller Area Network (CAN) frames utilizing the Linux kernel open source library SOCKETCAN. Th

Tim Wise 4 Oct 25, 2021
The HTTP library used by the Spotify iOS client

Authentication and back-off logic is a pain, let's do it once and forget about it! This is a library that allows you to centralise this logic and forg

Spotify 625 Nov 20, 2022
A utility used to parse number strings

NumberParser is a Swift package used to parse number strings, e.g. "eight thousa

Dalton Claybrook 4 Dec 28, 2021
iONess is HTTP Request Helper for iOS platform used by HCI iOS App

iONess iONess (iOS Network Session) is HTTP Request Helper for the iOS platform used by Home Credit Indonesia iOS App. It uses Ergo as a concurrent he

OSFE Homecredit Indonesia 1 Mar 28, 2022
OBSwiftSocket is a Swift library to be used for communication with OBS Studio via obs-websocket (v5).

OBSwiftSocket OBSwiftSocket is a Swift library to be used for communication with OBS Studio via obs-websocket (v5). obs-websocket v5 specification: ht

Edon 3 Sep 28, 2022
Swift Express is a simple, yet unopinionated web application server written in Swift

Documentation <h5 align="right"><a href="http://demo.swiftexpress.io/">Live ?? server running Demo <img src="https://cdn0.iconfinder.com/data/icons/

Crossroad Labs 850 Dec 2, 2022
Another network wrapper for URLSession. Built to be simple, small and easy to create tests at the network layer of your application.

Another network wrapper for URLSession. Built to be simple, small and easy to create tests at the network layer of your application. Install Carthage

Ronan Rodrigo Nunes 89 Dec 26, 2022
A macOS application for browsing the IOKit registry.

IOBrowser About A macOS application for browsing the IOKit registry. License Project is released under the terms of the MIT License. Repository Infos

JD Gadina 128 Jan 1, 2023
A sample application to list the movie from API

MovieManager This is sample application to list the movie from API. Xcode 13.2 S

Poonam Yadav 0 Dec 18, 2021
TMDB(The Movie Database) API client application.

TMDB Client App Instructions Instructions for project setup. 1. Clone the project. 2. Go to "TMDB Client App" folder location on terminal and enter "p

Muhammed Karakul 0 Dec 26, 2021
iOS Todo Application using RxSwift and ReactorKit

RxTodo RxTodo is an iOS application developed using ReactorKit. This project is for whom having trouble with learning how to build a RxSwift applicati

Suyeol Jeon 1.3k Jan 3, 2023
Patchman - A macOS application to test APIs with HTTP methods (Decluttered Postman)

Patchman A macOS application to test APIs with HTTP methods (Decluttered Postman

Praneet 148 Nov 25, 2022
Simple and user-friendly application for doing the shopping list.

Shlist Simple and user-friendly application for doing the shopping list. Light _ Dark _ Features intuitive interface ability to import/export the list

Pavel Lyskov 12 Aug 20, 2022
FakeGithub is an iOS application written using Objective-C

FakeGithub FakeGithub is an iOS application written using Objective-C. Opensource this project for learning purpose. Hope this could be a little usefu

FakeCoder 5 Oct 12, 2022
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X

RestKit RestKit is a modern Objective-C framework for implementing RESTful web services clients on iOS and Mac OS X. It provides a powerful object map

The RestKit Project 10.2k Dec 29, 2022
The Objective-C Style Guide used by The New York Times

NYTimes Objective-C Style Guide This style guide outlines the coding conventions of the iOS teams at The New York Times. We welcome your feedback in i

The New York Times 5.8k Jan 6, 2023
OysterKit is a framework that provides a native Swift scanning, lexical analysis, and parsing capabilities. In addition it provides a language that can be used to rapidly define the rules used by OysterKit called STLR

OysterKit A Swift Framework for Tokenizing, Parsing, and Interpreting Languages OysterKit enables native Swift scanning, lexical analysis, and parsing

Swift Studies 178 Sep 16, 2022
A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. Same type of locker used in many of the large and small DBMSs in existence today.

StickyLocking StickyLocking is a general purpose embedded lock manager which allows for locking any resource hierarchy. Installable Lock modes allow f

Sticky Tools 2 Jun 15, 2021
Strucure: I used MVVM with Colusre binging modular architecture : Also I used openweathermap to get all information for current weather as it's easy t

Strucure: I used MVVM with Colusre binging modular architecture : Also I used openweathermap to get all information for current weather as it's easy t

Alaa Azab 0 Oct 7, 2021
Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be used on the platform.

twitter-text This repository is a collection of libraries and conformance tests to standardize parsing of Tweet text. It synchronizes development, tes

Twitter 2.9k Dec 27, 2022