いろいろと新しいAPIが追加されている。
いくつか紹介する(ソースコードは元サイトから引用)。
NSData (NSDataBase64Encoding)
NSString *string = @"Lorem ipsum dolor sit amet."; NSString *base64EncodedString = [[string dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:0]; NSLog(@"%@", base64EncodedString); // @"TG9yZW0gaXBzdW0gZG9sYXIgc2l0IGFtZXQu"メソッドが追加され、オプションが選択できるようになった。
NSURLComponents
NSDateComponentsのNSURL版といった感じでURLの各要素にアクセスして変更もできる。
NSURLComponents *components = [NSURLComponents componentsWithString:@"http://nshipster.com"]; components.path = @"/iOS7"; components.query = @"foo=bar"; NSLog(@"%@", components.scheme); // @"http" NSLog(@"%@", [components URL]); // @"http://nshipster.com/iOS7?foo=bar"
NSCharacterSet
チェックでつかえるいろいろなセットが追加された。
NSProgress
iOS7から導入された新クラス。ダウンロードなどの時間のかかる処理の途中経過を管理するモデルクラス。状態の管理(到達度、キャンセル、一時停止)の他、到達度のローカライズ表記などもできる。
NSProgress *progress = [NSProgress progressWithTotalUnitCount:100]; progress.completedUnitCount = 42; NSLog(@"%@", [progress localizedDescription]); // 42% completed複数の状態を束ねて管理することも可能(Tree of Progress Objects)。例えば10個のタスク個々の状態しつつ、全体の達成度を表示するなど。
Overview
The NSProgress class provides a self-contained mechanism for progress reporting. It makes it easy for code that does work to report the progress of that work, and for user interface code to observe that progress for presentation to the user. Specifically, it can be used to show the user a progress bar and explanatory text, both updated properly as progress is made. It also allows work to be cancelled or paused by the user.
NSArray -firstObject
これは地味にうれしい(従来は objectAtIndex:0)。
NSArray *array = @[@1, @2, @3]; NSLog(@"First Object: %@", [array firstObject]); // 1 NSLog(@"Last Object: %@", [array lastObject]); // 3
SSReadingList
Safariのリーディングリストへアクセスできるようになった。
今のところは追加だけのようだが詳細は不明(リファレンスが見つからなかった)。
AVSpeechSynthesizer
きました音声読み上げ。
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init]; AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Hello, World!"]; utterance.rate = AVSpeechUtteranceMinimumSpeechRate; // Tell it to me slowly [synthesizer speakUtterance:utterance];
ほかに
CIDetectorSmile & CIDetectorEyeBlink
AVCaptureMetaDataOutput
MKDistanceFormatter
なども紹介されていた。
参考・引用サイト