【问题标题】:how can I retrieve an integer value from an NSMutableArray on the iPhone?如何从 iPhone 上的 NSMutableArray 中检索整数值?
【发布时间】:2009-06-02 13:30:53
【问题描述】:

如何从 NSMutableArray 中获取整数值?

【问题讨论】:

    标签: objective-c iphone cocoa-touch xcode


    【解决方案1】:

    您需要使用NSNumber:

    myArray = [NSMutableArray array];
    [myArray addObject:[NSNumber numberWithInteger:1234]];
    
    //..
    
    int theNumber = [[myArray objectAtIndex:0] integerValue];
    

    【讨论】:

    • 为了避免警告,请使用 NSInteger theNumber = [[myArray objectAtIndex:0] integerValue];int theNumber = [[myArray objectAtIndex:0] intValue];
    【解决方案2】:

    如果你愿意,你有这个扩展

    创建文件 extends.h 在您的项目中添加此代码和 #import "extends.h"

    /*______________________________ Extends NSMutableArray ______________________________*/
    /**
     * Extend NSMutableArray
     * By DaRkD0G
     */
    @interface NSMutableArray (NSArrayAdd)
    /**
     *  Get element at index
     *
     *  @param index
     */
    - (NSObject *) getAt:(int) index;
    @end
    /**
     * Extend NSMutableArray Method
     * By DaRkD0G
     */
    @implementation NSMutableArray (NSArrayAdd)
    /**
     *  Get element at index
     *
     *  @param index
     */
    - (NSObject *) getAt:(int) index {
        NSInteger anIndex = index;
        NSObject *object = [self objectAtIndex:anIndex];
        if (object == [NSNull null]) {
            return nil;
        } else {
            NSLog(@"OK found ");
            return object;
        }
    
    }
    @end
    /*______________________________ Extends NSArray ______________________________*/
    /**
     * Extend NSArray
     * By DaRkD0G
     */
    @interface NSArray (NSArrayAdd)
    /**
     *  Get element at index
     *
     *  @param index
     */
    - (NSObject *) getAt:(int) index;
    @end
    /**
     * Extend NSArray Method
     * By DaRkD0G
     */
    @implementation NSArray (NSArrayAdd)
    /**
     *  Get element at index
     *
     *  @param index
     */
    - (NSObject *) getAt:(int) index {
        NSInteger anIndex = index;
        NSObject *object = [self objectAtIndex:anIndex];
        if (object == [NSNull null]) {
            return nil;
        } else {
            NSLog(@"OK found ");
            return object;
        }
    
    }
    @end
    

    使用:

    NSObject object = [self.arrayItem getAt:0];
    NSObject object2 = [self.arrayItem getAt:50];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      相关资源
      最近更新 更多