zoukankan      html  css  js  c++  java
  • Objective-C 学习笔记(三) Numbers/数字

    Objective-C Numbers/数字

    Objective-C中提供了一系列的NSNumber和重要的工作方法:

    + (NSNumber *)numberWithBool:(BOOL)value 创建并返回包含给定值的NSNumber对象,将其视为BOOL。
    + (NSNumber *)numberWithChar:(char)value  
    + (NSNumber *)numberWithDouble:(double)value  
    + (NSNumber *)numberWithFloat:(float)value  
    + (NSNumber *)numberWithInt:(int)value  
    + (NSNumber *)numberWithInteger:(NSInteger)value  
    - (BOOL)boolValue 以BOOL形式返回接收者的值。
    - (char)charValue  
    - (double)doubleValue  
    - (float)floatValue  
    - (NSInteger)integerValue  
    - (int)intValue  
    - (NSString *)stringValue 以可读的字符串的形式返回接收者的值。

    下面是一个简单的例子,使用的NSNumber两个数字相乘,并返回该产品。

     1 #import <Foundation/Foundation.h>
     2 
     3 @interface SampleClass:NSObject
     4 
     5 - (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b;
     6 
     7 @end
     8 
     9 @implementation SampleClass
    10 
    11 - (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b
    12 {
    13    float number1 = [a floatValue];
    14    float number2 = [b floatValue];
    15    float product = number1 * number2;
    16    NSNumber *result = [NSNumber numberWithFloat:product];
    17    return result;
    18 }
    19 
    20 @end
    21 
    22 int main()
    23 {
    24    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    25 
    26    SampleClass *sampleClass = [[SampleClass alloc]init];
    27    NSNumber *a = [NSNumber numberWithFloat:10.5];
    28    NSNumber *b = [NSNumber numberWithFloat:10.0];   
    29    NSNumber *result = [sampleClass multiplyA:a withB:b];
    30    NSString *resultString = [result stringValue];
    31    NSLog(@"The product is %@",resultString);
    32 
    33    [pool drain];
    34    return 0;
    35 }

    解惑:

    • [pool release]和[pool drain]的区别

        release与drain的区别是drain在有GC的环境中会引起GC回收操作,release反之。但在非GC环境中,两者相同。

    • GC == garbage collection,内存的释放采取的垃圾自动回收机制,在编程的时候不用考虑变量不用时释放内存

    参考资料:

    [1] 易百教程 Objective-C Numbers/数字

    [2] 【pool drain】和【pool release】区别

  • 相关阅读:
    SAP PI 如何实现消息定义查询
    EWM与ERP交互程序
    ITS Mobile Template interpretation failed. Template does not exist
    SAP Material Flow System (MFS) 物料流系统简介
    SAP EWM Table list
    EWM RF 屏幕增强
    SAP EWM TCODE list
    SAP扩展仓库管理(SAPEWM)在线研讨会笔记
    ERP与EWM集成配置ERP端组织架构(二)
    EWM RF(Radio Frequency)简介
  • 原文地址:https://www.cnblogs.com/hyating/p/9116371.html
Copyright © 2011-2022 走看看