この記事を読みました。
素晴らしいスキルを見つけました。@operatorについてです。
リテラル構文は、NSString リテラルと同じ「@」演算子を使用して、NSArray、NSDictionary、および NSNumber オブジェクトでサポートされています。
しかし、サンプルコードが見つかりません。
@operator を使用して NSNumber、NSArray、NSDictionary についてもう少し説明していただけますか?
ありがとう。
この記事を読みました。
素晴らしいスキルを見つけました。@operatorについてです。
リテラル構文は、NSString リテラルと同じ「@」演算子を使用して、NSArray、NSDictionary、および NSNumber オブジェクトでサポートされています。
しかし、サンプルコードが見つかりません。
@operator を使用して NSNumber、NSArray、NSDictionary についてもう少し説明していただけますか?
ありがとう。
Objective-C Literalsに関する LLVM のマニュアル ページで、新しい構文について確認できます。
Mike ash は、このトピックに関する非常に優れた記事を書きました。
基本だけでなく、いくつかの非常に優れた実装の詳細についても説明します。他に質問がある場合は、下にコメントを残してください。
これまでに見た中で最も優れたドキュメントはllvm man pageにあります。
// integral literals.
NSNumber *fortyTwo = @42; // equivalent to [NSNumber numberWithInt:42]
NSNumber *fortyTwoUnsigned = @42U; // equivalent to [NSNumber numberWithUnsignedInt:42U]
NSNumber *fortyTwoLong = @42L; // equivalent to [NSNumber numberWithLong:42L]
NSNumber *fortyTwoLongLong = @42LL; // equivalent to [NSNumber numberWithLongLong:42LL]
// floating point literals.
NSNumber *piFloat = @3.141592654F; // equivalent to [NSNumber numberWithFloat:3.141592654F]
NSNumber *piDouble = @3.1415926535; // equivalent to [NSNumber numberWithDouble:3.1415926535]
// BOOL literals.
NSNumber *yesNumber = @YES; // equivalent to [NSNumber numberWithBool:YES]
NSNumber *noNumber = @NO; // equivalent to [NSNumber numberWithBool:NO]
// This creates an NSArray with 3 elements. The comma-separated sub-expressions of an array
// literal can be any Objective-C object pointer typed expression.
NSArray *array = @[ @"Hello", NSApp, [NSNumber numberWithInt:42] ];
// Immutable dictionary expression:
NSDictionary *dictionary = @{
@"name" : NSUserName(),
@"date" : [NSDate date],
@"processInfo" : [NSProcessInfo processInfo]
};