言語から始めましょう。 そのため、新しい抽象化-リテラル(リテラル)があります。これにより、数値、辞書(辞書)、配列(配列)などのデータ型の記述がはるかに簡単かつ便利になります。
比較:
NSNumber *myNum = [NSNumber numberWithInt:12]; NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys:@"one", @"first", @"two", @"second", nil]; NSArray *myArr = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
そして、新しいバージョンでは:
NSNumber *myNum = @12; // or NSNumber * myNum = @(8+4); NSDictionary *myDict = @{@"first" : @"one", @"second" : @"two"}; // Key:value without nil! NSArray *myArr = @[@"one", @"two", @"three"];
1101_debianが私に言ったように、配列または辞書要素にアクセスする方がはるかに便利です:
myArr[0] myArr[5] myDict[@"Fuu"]
私の意見では-より便利で視覚的です。 Perlを思い出させたものがあります。Perlは、私にとって、言語の有能な組織の標準であり、簡潔で便利です。 さらにもう1つ小さな変更があります。NSSと入力すると、最初にNSStringがプロンプトに表示されるか、最も頻繁に使用されるオプションが最初に表示されます。 プレゼンテーションでこれが拍手を送った理由を理解しています。
次は、クラス内のプロパティの宣言です。 @synthetizeを設定する必要はなくなりました。デフォルトで設定されます。 つまり、インターフェイスでプロパティを宣言するだけで十分です。
@property(copy) NSString *myString;
多くの新しいものが検索に追加されました。 正規表現またはルール(および、または、ではない...)による検索、選択したフラグメントのみでの検索および置換などの機能。 すべてをペンで試す必要があります。
インターフェースのビジュアルエディター(インターフェースビルダー)で多くの変更が行われました。 位置の変更、要素のサイズ、方向を変更する際のスケーリングと配置のルールに関するすべての作業が、はるかに簡単で視覚的になりました。 もちろん、それに慣れる必要があります。
エラーメッセージと警告も参考になります。 今、彼らは問題がある行の特定の場所を指しています。 まあ、ヒープには、コード補完のコンテキストヘルプもあります。これが必要かどうかがわかります。
行末にスペースの自動クリーニングを追加し、コードアナライザーも改善しました。これにより、特に「誰でも誰でも」作成された大規模プロジェクトで発生する可能性のある大量のメモリリークを取り除くことができました。
現在のコミットから選択したフラグメントを除外する機能を備えたバージョン管理システムが追加されました。 私にとって-合理的な使用と非常に便利な機能。
将来(来年)、廃止されたコンパイラ(LLVM-GCC)とデバッガ(GDB)の完全な拒否が約束されています。 私は仕事でそれらを使用しないので、これがどれほど良いかを判断するのは難しいです。 XcodeとObjective-Cの開発では、これは確かにプラスであり、あなたとの互換性をさらに高める必要はありません。
一般に、多くの変更がありますが、その多くは有用で期待されていますが、新しいXcodeのリリースがこれらすべての作業を開始するのを待つことは残っています。
私が何かを逃した可能性があるので、あなたのコメントに喜んでいるでしょう。
WWDC 2012の資料に基づいています。