我可以創建一個包含myArray
對象的所有哈希值這樣的NSArray
:想NSArray的valueForKey返回數組索引
NSArray *a = [myArray valueForKey:@"hash"];
我傳遞給valueForKey:
什麼鍵獲得一個數組包含myArray的索引?
說myArray有n項。我想要做這樣的事情:
NSArray *a = [myArray valueForKey:@"index"];
我可以創建一個包含myArray
對象的所有哈希值這樣的NSArray
:想NSArray的valueForKey返回數組索引
NSArray *a = [myArray valueForKey:@"hash"];
我傳遞給valueForKey:
什麼鍵獲得一個數組包含myArray的索引?
說myArray有n項。我想要做這樣的事情:
NSArray *a = [myArray valueForKey:@"index"];
NSArray * arrayWithNumbersInRange(NSRange range)
{
NSMutableArray * arr = [NSMutableArray array];
NSUInteger i;
for(i = range.location; i <= range.location + range.length; i++){
[arr addObject:[NSNumber numberWithUnsignedInteger:i];
}
return arr;
}
NSArray * indexArray = arrayWithNumbersInRange((NSRange){0, [myArray length]-1});
您可以查詢一個NSArray爲對象的指數與indexOfObject:
NSArray *a = [myArray valueForKey:@"hash"];
NSInteger index = [myArray indexOfObject:a];
創建的超NSArray返回索引:
//
// CapArrayOfIndex.h
// Created by carmin politano on 7/26/12.
// no rights reserved
//
@interface CapArrayOfIndex : NSArray {
/*! Simulated constant array containing an array of NSNumber representing the index. */
NSUInteger iCount;
//*! NSNotFound causes bybass of index bounds testing. */
}
#pragma mark create
+ (CapArrayOfIndex*) withCount: (NSUInteger) aCount;
@end
和
//
// CapArrayOfIndex.mm
// Created by carmin on 7/26/12.
// no rights reserved
//
#import "CapArrayOfIndex.h"
@implementation CapArrayOfIndex
#pragma mark NSCopying
- (id) copyWithZone: (NSZone*) aZone {
/*! New allocation required because -count is a mutable property. */
return [CapArrayOfIndex withCount: self.count];
}
#pragma mark create
+ (CapArrayOfIndex*) withCount: (NSUInteger) aCount {
CapArrayOfIndex* zArray = self.alloc;
zArray->iCount = aCount;
return zArray;
}
#pragma mark NSArray
- (NSUInteger) count {
return iCount;
}
- (void) setCount: (NSUInteger) aCount {
iCount = aCount;
}
- (id) objectAtIndex: (NSUInteger) aIndex {
/*! My code performs a bounds test using unusual macros: return [ViaUInteger RaiseIfObjectAtIndex(nil, self, aIndex, nil)]; */
return [NSNumber numberWithInteger: aIndex];
}
@end
此版本已經過測試。它應該可以自動合成屬性計數(刪除它的實例變量和方法),但我現在不使用此代碼(現在不能測試修改)。 – carmin 2014-01-17 00:51:49
這不回答這個問題。給定一個包含n個對象的數組,我想創建一個包含整數'0,1 ... n-1'的數組。 – SundayMonday 2011-12-22 01:36:44
數組中的鍵總是按順序從0 - > count - 1,它們不是可可對象,因此不會返回所要求的方法。 – Jessedc 2011-12-22 02:04:10