aws-amplify / aws-sdk-ios

AWS SDK for iOS. For more information, see our web site:
https://aws-amplify.github.io/docs
Other
1.68k stars 884 forks source link

API Gateway Generated SDK Models: Boolean types set to NSNumber #615

Closed kalpitad closed 7 years ago

kalpitad commented 7 years ago

Context:

Repro steps:

I have an API Gateway model called MyModel. In the model schema, there is an attribute called "style" that is defined as follows.

"style": {
    "type": "object",
    "properties": {
        "applied": { "type": "boolean" },
        "colors": {
            "type": "object",
            "properties": {
               ...
            }
        }
    }
},

The API Gateway Generated SDK (Objective C) generates the model header as below. Note that it takes the applied attribute and sets its type as NSNumber instead of Objective C's boolean type.

/*
 Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.

 Licensed under the Apache License, Version 2.0 (the "License").
 You may not use this file except in compliance with the License.
 A copy of the License is located at

 http://aws.amazon.com/apache2.0

 or in the "license" file accompanying this file. This file is distributed
 on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 express or implied. See the License for the specific language governing
 permissions and limitations under the License.
 */

#import <Foundation/Foundation.h>
#import <AWSCore/AWSCore.h>
#import "MyModel_style_colors.h"

@interface MyModel_style : AWSModel

@property (nonatomic, strong, nonnull) NSNumber *applied;

@property (nonatomic, strong, nonnull) MyModel_style_colors *colors;

@end
karthiksaligrama commented 7 years ago

this is by design at the moment, use [applied boolValue]