| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // Tencent is pleased to support the open source community by making vap available.
- //
- // Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.
- //
- // Licensed under the MIT License (the "License"); you may not use this file except in
- // compliance with the License. You may obtain a copy of the License at
- //
- // http://opensource.org/licenses/MIT
- //
- // Unless required by applicable law or agreed to in writing, software distributed under the License 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 "NSDictionary+HWDUtil.h"
- #define HWD_RETURN_VALUE(_type_, _default_) \
- if (!key) return _default_; \
- id value = self[key]; \
- if (!value || value == [NSNull null]) return _default_; \
- if ([value isKindOfClass:[NSNumber class]]) return ((NSNumber *)value)._type_; \
- if ([value isKindOfClass:[NSString class]]) return ((NSString *)value)._type_; \
- return _default_;
- @implementation NSDictionary (HWDUtil)
- - (CGFloat)hwd_floatValue:(NSString *)key {
- HWD_RETURN_VALUE(floatValue, 0.0);
- }
- - (NSInteger)hwd_integerValue:(NSString *)key {
- HWD_RETURN_VALUE(integerValue, 0);
- }
- - (NSString *)hwd_stringValue:(NSString *)key {
-
- NSString *defaultValue = @"";
- if (!key) return defaultValue;
- id value = self[key];
- if (!value || value == [NSNull null]) return defaultValue;
- if ([value isKindOfClass:[NSString class]]) return value;
- if ([value isKindOfClass:[NSNumber class]]) return ((NSNumber *)value).description;
- return defaultValue;
- }
- - (NSDictionary *)hwd_dicValue:(NSString *)key {
-
- if (!key) {
- return nil;
- }
- id value = self[key];
- if (![value isKindOfClass:[NSDictionary class]]) {
- return nil;
- }
- return value;
- }
- - (NSArray *)hwd_arrValue:(NSString *)key {
-
- if (!key) {
- return nil;
- }
- id value = self[key];
- if (![value isKindOfClass:[NSArray class]]) {
- return nil;
- }
- return value;
- }
- @end
|