[Objective C] NSArray
來練習一下NSArray怎麼寫吧!屬於不可變 (immutable) 的物件種類,裡頭可以放任何的型態的物件。
常用方法如下:
- +(id) arrayWithObjects: (id) firstObj, …
將多個物件當做陣列的初始值,最後以 nil 結束 - -(NSUInteger) count
回傳陣列儲存的物件數量 - -(NSUInteger) indexOfObject: (id) anObject
若陣列中有物件 anObject,則回傳此物件於陣列中的索引值,否則回傳 NSNotFound - -(id) objectAtIndex: (NSUInteger) index
回傳陣列索引值為 index 的物件 - -(void) makeObjectsPerformSelector: (SEL) aSelector
對陣列內所有物件執行 aSelector 方法
範例程式碼:
//
// main.m
// HappyMan's Program - NSArray
// Xcode 4.5
// Created by ShengWen on 12/9/26.
// Copyright (c) 2012年 ShengWen. All rights reserved.
// https://cg2010studio.wordpress.com/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSString* str1 = @"HappyMan";
NSString* str2 = @"WaterMan";
NSString* str3 = @"BrightMan";
NSArray* mArray;
// 將物件加入 array
mArray = [NSArray arrayWithObjects: str1, str2, str3, nil];
NSInteger count = [mArray count];
for(int i=0;i<count;i++){
NSLog(@"index: %i, value: %@", i, [mArray objectAtIndex: i]);
}
// 取得物件的所在位置
NSInteger index;
if ((index = [mArray indexOfObject:@"WaterMan"]) != NSNotFound) {
NSLog(@"陣列的第%li個位置,值為%@", index, [mArray objectAtIndex:index]);
}
return 0;
}
執行結果:
2012-10-03 22:57:40.546 HappyMan’s First Program[2451:403] index: 0, value: HappyMan
2012-10-03 22:57:40.548 HappyMan’s First Program[2451:403] index: 1, value: WaterMan
2012-10-03 22:57:40.549 HappyMan’s First Program[2451:403] index: 2, value: BrightMan
2012-10-03 22:57:40.549 HappyMan’s First Program[2451:403] 陣列的第1個位置,值為WaterMan
繼續做NSMutableArray的練習吧~
參考:Objective-C 陣列物件、NSArray Class Reference、Objective-C 入門指南 – NSArray。
HappyMan・迴響