diff options
author | 2009-09-03 00:01:14 +0000 | |
---|---|---|
committer | 2009-09-03 00:01:14 +0000 | |
commit | 94c15346143f56b9b246e3c8dee64ec844acae88 (patch) | |
tree | 8921ed567e7a9bba0919b6ca0109fb6338fc870a /Foundation/GTMNSDictionary+CaseInsensitive.h | |
parent | ac02ae31d09fcdfb4d92ea61062cf6528744c9c2 (diff) |
[Author: iwade]
Add NSData hex conversion routines.
Add a case-insensitive NSDictionary constructor.
I have a need for both pieces of functionality in an iPhone app I'm developing.
R=dmaclach,thomasvl
APPROVED=dmaclach
DELTA=521 (521 added, 0 deleted, 0 changed)
Diffstat (limited to 'Foundation/GTMNSDictionary+CaseInsensitive.h')
-rw-r--r-- | Foundation/GTMNSDictionary+CaseInsensitive.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Foundation/GTMNSDictionary+CaseInsensitive.h b/Foundation/GTMNSDictionary+CaseInsensitive.h new file mode 100644 index 0000000..a31e81c --- /dev/null +++ b/Foundation/GTMNSDictionary+CaseInsensitive.h @@ -0,0 +1,42 @@ +// +// GTMNSDictionary+CaseInsensitive.h +// +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// 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 <Foundation/Foundation.h> + +/// Utility for building case-insensitive NSDictionary objects. +@interface NSDictionary (GTMNSDictionaryCaseInsensitiveAdditions) + +/// Initializes an NSDictionary with a case-insensitive comparison function +/// for NSString keys, while non-NSString keys are treated normally. +/// +/// The case for NSString keys is preserved, though duplicate keys (when +/// compared in a case-insensitive fashion) have one of their values dropped +/// arbitrarily. +/// +/// An example of use with HTTP headers in an NSHTTPURLResponse object: +/// +/// NSDictionary *headers = +/// [NSDictionary gtm_dictionaryWithDictionaryCaseInsensitive: +/// [response allHeaderFields]]; +/// NSString *contentType = [headers objectForKey:@"Content-Type"]; +- (id)gtm_initWithDictionaryCaseInsensitive:(NSDictionary *)dictionary; + +/// Returns a newly created and autoreleased NSDictionary object as above. ++ (id)gtm_dictionaryWithDictionaryCaseInsensitive:(NSDictionary *)dictionary; + +@end |