Object-C,陣列NSArray
晚上回來,寫了2個iOS應用程式。
就是在介面中,展示標籤。一種是手動構造介面,然後繫結事件。另外一種是,使用自帶的介面作為容器,但是手動向裡面放其它介面元素。
書中的觀點是,使用圖形化介面,構造介面比較好。
然後,又寫了個Object-C陣列的例子。
Object-C相對簡單一些,黑屏控制檯輸出,而iOS視覺化介面的程式,程式碼較多,也不好描述。
iOS程式的“上下文環境”更復雜一些把,而Object-C語言,和Java就類似。
//
// main.m
// NSArrayTest
//
// Created by fansunion on 15/12/1.
// Copyright (c) 2015年 demo. All rights reserved.
//
#import <Foundation/Foundation.h>
//演示不可變陣列
int main(int argc, const char * argv[]) {
@autoreleasepool {
//不可變陣列,用類方法構造陣列
NSArray* array =[NSArray arrayWithObjects:@"A",@"B",@"C",nil];
//訪問元素有2種方式
NSLog(@"The first element is %@",array[0]);
NSLog(@"The second element is %@",[array objectAtIndex:1]);
//不可變陣列,在原來的基礎上再增加一個元素D返回心的陣列
NSArray* newArray = [array arrayByAddingObject:@"D"];
//使用for迴圈,列印新的陣列
for(int index=0;index<newArray
.count;index++){
NSLog(@("The %i element is %@"),index,newArray[index]);
}
//使用列舉遍歷器,列印心的陣列
NSEnumerator *enumerator =[newArray objectEnumerator];
id object;
while(object =[enumerator nextObject]){
NSLog(@"The element is %@",object);
}
}
return 0;
}
程式輸出
2015-12-01 21:16:55.768 NSArrayTest[5346:358824] The first element is A
2015-12-01 21:16:55.769 NSArrayTest[5346:358824] The second element is B
2015-12-01 21:16:55.769 NSArrayTest[5346:358824] The 0 element is A
2015-12-01 21:16:55.769 NSArrayTest[5346:358824] The 1 element is B
2015-12-01 21:16:55.770 NSArrayTest[5346:358824] The 2 element is C
2015-12-01 21:16:55.770 NSArrayTest[5346:358824] The 3 element is D
2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is A
2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is B
2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is C
2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is D
Program ended with exit code: 0
NSMutableArray是可變陣列。
這點和java中正好相反:Java中的ArrayList正好是可變的,如果想要不可變的,Apache等第三方有實現。
相關文章
- Object-C陣列和字典Object陣列
- Object-C,NSArraySortTest,陣列排序3種方式Object陣列排序
- Swift中實現Array陣列和NSArray陣列的相互轉換與遍歷Swift陣列
- [Object-c] Log(輸出陣列和字典的中文內容)Object陣列
- 如何將plist檔案或者陣列NSArray轉化為.json檔案?陣列JSON
- iOS面向切面程式設計筆記:UIButton按鈕防連點、NSArray陣列越界、資料打點iOS程式設計筆記UI陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 陣列,陣列類,SyStem類陣列
- 陣列結構之陣列陣列
- Java陣列03:陣列使用Java陣列
- 陣列1——求一個陣列的最大子陣列陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 指標陣列和陣列指標與二維陣列指標陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 陣列指標,指標陣列陣列指標
- 陣列指標 指標陣列陣列指標
- 陣列陣列
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 矩陣和陣列矩陣陣列
- PHP陣列轉換為js陣列PHP陣列JS
- iOS 字典轉陣列,陣列轉字典iOS陣列
- 2-7 陣列:動態陣列陣列
- scala陣列與java陣列對比陣列Java
- 指標陣列與陣列指標指標陣列
- 陣列指標和指標陣列陣列指標
- 陣列演算法-差分陣列陣列演算法
- 稀疏陣列、佇列陣列佇列
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- PHP xml 轉陣列 陣列轉 xml 操作PHPXML陣列
- 陣列(ArrayPool陣列池、Span<T>結構)陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- 【陣列】977. 有序陣列的平方陣列
- 陣列去重和陣列扁平化陣列
- 二維陣列和稀疏陣列互轉陣列