【问题标题】:NSArray NSDictionary NSNumber using @operator in Xcode 4.4 [duplicate]在Xcode 4.4中使用@operator的NSArray NSDictionary NSNumber [重复]
【发布时间】:2012-07-24 12:50:18
【问题描述】:

可能重复:
Apple LLVM 4.0 new features on Xcode 4.4 (Literals)

我读过这个article

我发现了很棒的技能。是关于@operator。

NSArray、NSDictionary 和 NSNumber 对象支持文字语法,使用与 NSString 文字相同的“@”运算符。

但是,我找不到任何示例代码。

能否请您进一步解释一下使用@operator 的NSNumber、NSArray、NSDictionary?

谢谢。

【问题讨论】:

    标签: iphone xcode4.4


    【解决方案1】:

    您可以在 LLVM 的有关 Objective-C Literals 的手册页中找到有关新语法的信息。

    【讨论】:

      【解决方案2】:

      Mike ash 就这个话题写了一篇很好的article

      它涵盖了基础知识,以及一些非常酷的实现细节。 这至少应该让您开始,如果您有任何其他问题,请在下面发表评论!

      【讨论】:

      • 我没有删除链接,只是给出了格式,链接已附加到文章中。还是被删除了?
      • @Jennis 啊,好点,对不起,我错过了你内联链接的事实。 SO 的差异还有很多不足之处,你是对的。
      【解决方案3】:

      到目前为止我见过的最好的文档在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]
        };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多