1. 程式人生 > >OC NSArray 和 NSMutableArray 常用方法的使用和例項

OC NSArray 和 NSMutableArray 常用方法的使用和例項

#import <Foundation/Foundation.h>

NSInteger intSort(id num1, id num2, void *context);

int main(int argc, const char * argv[]) {

//NSArray 不可變陣列常用方法

    NSArray *arr = [[NSArray alloc] initWithObjects:@"a", @"andy", @"b", @"c", @"e", @"f", nil];

//OC陣列中nil 作為結束標誌不能插入中間

NSArray *arr1 = [NSArray

arrayWithObjects:@"wendy", @"andy", @"standy", @"tom", @"jarry" ,nil];

//OC陣列只能存放物件 arr1的物件初始化arr2

    NSArray *arr2 = [[NSArray alloc] initWithArray:arr1];

    NSLog(@"%@", arr2);

//C陣列 轉化OC陣列

    NSString *carr[10] = {@"123", @"456", @"789"};

    NSArray *arr3 = [[NSArray alloc] initWithObjects:carr count

:3];

    NSLog(@"%@", arr3);

//返回陣列中第一個該元素的下標,返回值%ld

NSLog(@"%ld", [arr indexOfObject:@"c"]);

//返回陣列範圍內該元素的下標 0開始

    NSRange range = {0,3};

NSLog(@"%ld", [arr indexOfObject:@"a"inRange:range]);

NSLog(@"%ld", [arr indexOfObjectIdenticalTo:@"a"]);

//判斷陣列中該元素是否存在返回bool

NSLog(@"%d", [arr containsObject:

@"a"]);

//返回陣列中元素個數

    NSLog(@"%ld", [arr count]);

//陣列中的第一個元素

    NSLog(@"%@", [arr3 firstObject]);

//陣列中的最後一個元素

    NSLog(@"%@", [arr3 lastObject]);

//取陣列範圍內連續元素賦給新的陣列並返回

    NSRange range1 = {0, 1};

    NSLog(@"%@", [arr3 subarrayWithRange:range1]);

//返回陣列中指定座標下對應的元素

NSLog(@"%@", [arr3 objectAtIndex:1]);

NSLog(@"%@", [arr3 objectAtIndexedSubscript:1]);

//自定義初始化下標

    NSIndexSet *index = [[NSIndexSet alloc] initWithIndex:0];

//返回包含原陣列中對應該下標元素的新陣列

    NSLog(@"%@", [arr3 objectsAtIndexes:index]);

//返回對應陣列值等於給定物件的第一個下標 0 開始

NSLog(@"%ld", [arr indexOfObject:@"c"]);

//返回對應陣列值在range下標範圍內的第一個與給定值相等的值的下標

NSLog(@"%ld", [arr indexOfObject:@"a"inRange:range]);

//查詢兩陣列中第一個相同的元素並返回

NSLog(@"%@", [arr firstObjectCommonWithArray:arr1]);

//判斷兩陣列是否相等 返回值 BOOL

    NSLog(@"%d", [arr isEqualToArray:arr1]);

//陣列相加

NSLog(@"%@", [arr arrayByAddingObject:arr1]);

//執行結果  (

//    a,

//    andy,

//    b,

//    c,

//    e,

//    f,

//    (

//     wendy,

//     andy,

//     standy,

//     tom,

//     jarry

//     )

//    )

//陣列相加成一個數組

NSLog(@"%@", [arr arrayByAddingObjectsFromArray:arr1]);

//執行結果(

//    a,

//    andy,

//    b,

//    c,

//    e,

//    f,

//    wendy,

//    andy,

//    standy,

//    tom,

//    jarry

//    )

//返回包含本陣列範圍內元素的新陣列

NSLog(@"%@", [arr subarrayWithRange:range]);

//可變陣列定義和常用方法

NSMutableArray *arr7 = [[NSMutableArrayalloc] initWithCapacity:30];

NSMutableArray *arr8 = [NSMutableArrayarrayWithCapacity:30];

//新增元素

    [arr7 addObject:@"123"];

    [arr7 addObject:@"456"];

    [arr7 addObject:@"qeqwe"];

    [arr7 addObject:@"qeqwe"];

    [arr7 addObject:@"qeqwe"];

//從其他陣列拿出元素新增到本陣列

    [arr8 addObjectsFromArray:arr7];

    [arr8 addObject:@"789"];

    [arr8 addObject:@"789"];

    [arr8 addObject:@"789"];

    [arr8 addObject:@"123dsa"];

    [arr8 addObject:@"123dsa"];

    [arr8 addObject:@"123dsa"];

    [arr8 addObject:@"123dsa"];

    NSLog(@"arr7 = %@",arr7);

    NSLog(@"arr8 = %@",arr8);

//插入元素

//插入下標的範圍: 0<=index<=count

    [arr7 insertObject:@"aaa"atIndex:0];

    NSLog(@"arr7 = %@",arr7);

    [arr7 insertObject:@"bbb"atIndex:[arr7 count]];

    NSLog(@"arr7 = %@",arr7);

    [arr8 removeLastObject];//刪除最後一個元素

    NSLog(@"%@", arr8);

    [arr8 removeObject:@"789"];//刪除指定物件,會將所有物件刪除

    NSLog(@"%@", arr8);

//刪除指定範圍中的指定物件

    [arr8 removeObject:@"456"inRange:NSMakeRange(0, 2)];

//刪除指定下標的元素

    [arr8 removeObjectAtIndex:0];

//刪除指定範圍中得元素

    [arr8 removeObjectsInRange:NSMakeRange(0, 2)];

    [arr8 removeAllObjects];//刪除所有元素

    NSLog(@"%@", arr8);

//如果要刪除不連續的元素,則先把要刪除的元素放在一個清單中,然後再刪除該清單

//比如要刪下標為偶數的 0開始

NSMutableIndexSet *indexs = [NSMutableIndexSetindexSet];

    for (int i = 0; i < [arr7 count]; i++) {

        if (i % 2 == 0) {

            [indexs addIndex:i];

        }

    }

//刪除清單中得元素

    [arr7 removeObjectsAtIndexes:indexs];

    NSLog(@"%@", arr7);

// 修改陣列中得內容

    [arr7 replaceObjectAtIndex:1withObject:@"aaa"];

    NSLog(@"%@", arr7);

    return 0;

}

相關推薦

OC NSArray NSMutableArray 常用方法的使用例項

#import <Foundation/Foundation.h> NSInteger intSort(id num1, id num2, void *context); int main(int argc, const char * argv[]) {

html5中的localStoragesessionStorage常用方法區別

Html5開發過程中,經常會遇到需要在客戶端儲存資料的情況,主角登場,localstorage sessionStorage,接下來我們介紹一下他們:   localStorage:可以在客戶端長期儲存資料,關閉瀏覽器也有效,在所有同源視窗中共享。下面是它的一些常用方法: //

Extjs中grid 的ColumnModel 屬性配置常用方法例項

{ var str ="<input type='button' value='檢視詳細資訊' onclick='alert("""+"這個單元格的值是:"+ value +""+"這個單元格的配置是:{cellId:"+ cellmeta.cellId +",id:"+ cellmeta.id +",

ObjectC----NSObject常用方法OC反射機制

    // Created  By   郭仔  2015年04月11日17:13:22 NSObject常用方法: ========================================

Javascript - ExtJs - 常用方法屬性

taf 事件處理 代數 調用 lap ont .cn view html模板 常用方法和屬性(Common methods and attributes) 獲取 get(x) x是元素的ID || dom元素對象 || ExtElement對象 將參數所指轉化為Ex

使用jQuery操作DOM的常用方法節點

taf dto query 末尾 ont 獲得 ndt true jquery操作 1.常見方法 css(“屬性”,”屬性值”); //設置單個樣式 css({屬性1:屬性值1,屬性2:屬性值3...}); //設置多個樣式 addClass(“樣式名”); //追加單個樣

Ajax技術之XMLHttpRequest(二)【XMLHttpRequest常用方法屬性】

tro 沒有 body htm 事件 thead 指定 response date 一、XMLHttpRequest中常用的方法: (1)open()方法:用於設置進行異步請求目標的URL、請求方法以及其他參數信息。 函數原型:open("method","URL",asy

Qt中的QStringQStringList常用方法

逗號 app st2 ber HA number () contain 打印 QString QString s1 = "abc"; QString s2("hello"); //字符串連接 QString s = s1 + s2; //組包 s = QString("a

String、StringbuilderStringBuffer常用方法

case 位置 string對象 ase system span builder println lsi 1、String類: //根據字符串直接量來創建一個String對象。新創建的對象是該參數字符串的副本。 String s = new String("String

json常用方法本地存儲方法

方式 oca [ ] 鍵值對 本地存儲 tro 刪除cookie fun ice 1、JSON.parse()【把json字符串解析成json對象】 2、JSON.stringify()【把json對象中解析成json字符串】 <script> le

python資料型別之列表(list)常用方法

列表是python常用資料型別之一,是可變的,可由n = []建立,也可由n = list()建立,第一種方法更常用。   常用方法總結:   # 建立方法 n = [] 或者 n = list() # index 查詢索引值 li = ['Edward', 'Mark'

python資料型別之字典(dict)常用方法

字典的特徵: key-value結構key必須可hash,且必須為不可變資料型別、必須唯一。 # hash值都是數字,可以用類似於2分法(但比2分法厲害的多的方法)找。可存放任意多個值、可修改、可以不唯一無序查詢速度快常用方法: info = {'stu01': 'alex', 'stu02':

python資料型別之集合(set)常用方法

集合是一個無序的,不重複的資料組合作用(集合的重點):1.去重,把一個列表變成集合就自動去重了2.關係測試,測試兩組資料庫之前的交集、差集、並集等關係 s = {1, 1, 2, 2, 3, 4, 'a', 'a', '!', '!'} print(type(s)) # <class 'set

express 常用方法外掛

總結express框架中常用的方法及第三方外掛 express.static('./www') 載入靜態檔案 let router=express.Router(); 建立路由 express.logger() 列印日誌資訊 cookie-parser / cookie-session 身份認證 u

終端編輯神器vivim常用方法

vi —— 終端中的編輯器 目標 vi 簡介 開啟和新建檔案 三種工作模式 常用命令 分屏命令 常用命令速查圖 01. vi 簡介 1.1 學習 vi 的目的 在工作中,要對 伺服器 上的檔案進行 簡單 的修改,可以使用

js中Object物件常用方法屬性

1、屬性 Object.prototype.writable:預設為false Object.prototype.enumerable:預設為false Object.prototype.configurable:預設為false Object.prototype.constructor:用

Composer 常用方法命令

//設定中國映象 方法一: 修改 composer 的全域性配置檔案(推薦方式) 開啟命令列視窗(windows使用者)或控制檯(Linux、Mac 使用者)並執行如下命令: composer config -g repo.packagist composer https://packa

PyQt之下拉列表框(QComboBOX)的常用方法訊號

PyQt之下拉列表框(QComboBOX)的常用方法和訊號 QComboBox是一個集按鈕和下拉選項於一體的控制元件。 一、QComboBox類中的常用方法 addItem(): 新增一個下拉選項 addItems(): 從列表中新增下拉選項 Clear():

PyQt5之按鈕類控制元件(QAbstractButton)的常用方法訊號

PyQt5之按鈕類控制元件(QAbstractButton)的常用方法和訊號 在PyQt中QAbestractButton是所有按鈕控制元件的基類,提供了按鈕的通用性功能,但該類是抽象的無法進行例項化,必須由其他的按鈕類整合QAbstracButton來實現不同的功能,不同的表現形式。

PyQt5之多行文字框(QtextEdit)類中的常用方法訊號

PyQt5之QtextEdit類中的常用方法和訊號 一、QTextEdit類中的常用方法 setPlainText(): 設定多行文字框的內容。 toPlainText(): 返回多行文字框的文字內容。 setHtml(): 設定多行文