1. 程式人生 > >ios/iphone NSArray和NSMutableArray的常用方法

ios/iphone NSArray和NSMutableArray的常用方法

/* 初始化方法:
    1.init返回一個空陣列
     2.initWithArray從已有陣列初始化
     3.initWithContentsOfFile//從plist檔案載入
     4.initWithContentsOfUrl//從網路地址上獲取
     5.initWithObject用一個物件初始化
     6.initWithObjects從多物件初始化
   
    self.theDataArray=[[NSMutableArray alloc]initWithCapacity:5];//指定有五個元素初始化
                              
     */     
    
    /*列印第一個元素:
     NSLog(@"the object  is:%@",[theDataArray firstObjectCommonWithArray:theDataArray]);
   */
    /*列印最後一個元素:
    NSLog(@"the object  is:%@",[theDataArray lastObject]);
    */
      /*列舉所有元素,方法一:

       for (NSString * theStr in theDataArray) {
         NSLog(@"%@:",theStr);
        }
    */
    /*列舉所有元素,方法二:
        for (int i=0,i<[theDataArray count],i++) {
       //NSLog(@"%@:",[theDataArray objectAtIndex:i]);
          }
      */
   /* 列舉所有元素,方法三,用列舉器:
    NSEnumerator *enumerator=[theDataArray objectEnumerator];
     id obj;
     while (obj =[enumerator nextObject]) {
        NSLog(@"%@",obj);
   }
    */
    
     /*  //新增元素
    [theDataArray addObject:@"這是新新增的元素"];//從最後開始新增 
       */
    
    /* //從指定索引插入元素
     [theDataArray insertObject:@"this is inerted object" atIndex:0];//是插入到指定 索引的前面
     */
    
    
    /* //修改.更新元素

     [theDataArray replaceObjectAtIndex:0 withObject:@"new obj"];//指定索引修改
     */
    
    /* //判斷陣列是否包含某個物件 
     
    if ([theDataArray containsObject:@"selectiont"]) {
        NSLog(@"the object selection is contained in array");
    }
    else{
        NSLog(@"not contain");
    }
    */
    /* //獲取元素索引
    NSLog(@"the idx is:%i",[theDataArray indexOfObject:@"selection"]);
    */
    
    /*//陣列元素排序
     
     方法一:

      
   
   
NSArray *theTempArr=[[NSArray alloc] initWithArray:[theDataArray 
sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]];
   */
    //[theDataArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];  // or @selector(compare:)
    
   /*//陣列元素排序
     方法二:

     
     NSLog(@"before sorted array:%@",theDataArray);
    NSCountedSet *cset=[[NSCountedSet alloc] initWithArray:theDataArray];
    
     NSArray *theTempArr=[[NSArray alloc] initWithArray:[[cset allObjects]sortedArrayUsingSelector:@selector(compare:)]];
      
    NSLog(@"after sorted array:%@",theTempArr);
       */
   /* //對陣列物件進行排序   NSSortDescriptor
    NSSortDescriptor *sortDescriptor=[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];//@“name”是物件屬性
    [theDataArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];//返回排序好的陣列

   //還可以用自定義方法:[theDataArray sortUsingSelector:@selector(custom Method:)];
-(NSInteger)customMethod:(someObject *)otherObj{
   NSCompareResult compareResult=[self.name compare:otherObj.name];
  if(compareResult == NSOrderedSame)  return 0;
if(compareResult == NSOrderedAscending)  return 1;
  else return -1;
}
*/

/*  //物件陣列過濾(NSPredicate)

NSArray  *keyArray=[[NSArray alloce]initWtihObjects:@"A",@"B",nil];
  for (NSString *key in keyArray)
     {
  //定義規則:
   
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"SELF.name 
beginswith[c]  %@",key]; //SELF.name是物件屬性,beginswith[c]  %@",key 
表示選出name以key開頭的物件
  //或者 :
NSPredicate *apredicate=[NSPredicate 
predicateWithFormat:@"SELF.name contains [c]  %@",key]; //contains[c]  
%@",key 表示選出name中包含有key的物件
  //或者 :
NSInteger age=20;
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"SELF.age >  %i",age]; // 表示選出age>20的物件

  //或者 :
NSString * [email protected]"hel*";
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"SELF.name  like %@",matchStr]; // 表示選出name中包含與字串matchStr相似的物件

    NSArray *newArr=[theDataArray filteredArrayUsingPredicate:apredicate];
         [theDataDict setValue:newArr forKey:key];
       }

*/

/*  //刪除陣列元素
NSMutableArray *tempArray=[[NSMutableArray alloc]initWithObjects:@"one",@"tow",@"threr",nil];
 [tempArray removeObjectAtIndex:0];//從指定索引移除
 [tempArray removeAllObjects];//移除所有元素
  [tempArray removeLastObject];//移除最後那個元素
  [tempArray removeObjectsInArray:newArray];//移除指定陣列中元素
   [tempArray  removeObjectsAtIndexes: NSIndexSet *__strong)];//從所選擇的索引中移除
*/

相關推薦

ios/iphone NSArrayNSMutableArray常用方法

/* 初始化方法:     1.init返回一個空陣列      2.initWithArray從已有陣列初始化      3.initWithContentsOfFile//從plist檔案載入      4.initWithContentsOfUrl//從網路地址上獲取      5.initWithOb

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

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

NSArrayNSMutableArray常用方法

/* 初始化方法:     1.init返回一個空陣列      2.initWithArray從已有陣列初始化      3.initWithContentsOfFile//從plist檔案載入      4.initWithContentsOfUrl//從網路地址上獲取

ios-day11-01(UIWindow的常用方法。makeKeyWindow、makeKeyAndVisible、獲取當前應用的主視窗所有視窗)

// // JLAppDelegate.h // 01-UIWindow // // Created by XinYou on 15-3-11. // Copyright (c) 2015ĺš´ vxinyou. All rights reserved. // #import @interfac

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

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

終端編輯神器vivim常用方法

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

Hibernate 中得查詢(hql,離線)getHibernateTemplate()常用方法彙總

1.hql通過getHibernateTemplate() (1) 回撥介面getHibernateTemplate().execute(new HibernateCallback())方法 public User getEmailByUsername(final String userna

[Objective-C]strong、copy在NSArrayNSMutableArray的應用區別

兩個問題 1. 使用strong修飾NSArray會有什麼問題? 2. 使用copy修飾NSMutableArray會有什麼問題? 1. 使用strong修飾NSArray的問題 // // StrongCopyTest.h // StudyRuntim

Object-C(2)_NSNumberNSString常用方法

本章主要記錄iOS中基本型別的物件包裝型別的常用方法。 NSNumber常用方法 (NSNumber * ) numberWithInt:(int) // 建立一個整型NSNumber物件。 NSN

Java學習筆記之——StringArrays常用方法

一、String常用方法 1.subString(int beginIndex,int endIndex) 擷取字串 從beginIndex開始擷取,擷取endIndex-beginIndex的長度 案列: String str=”helloFriend”; str.subString(4,8);&

ObjectiveC(2)_NSNumberNSString常用方法

本章主要記錄iOS中基本型別的物件包裝型別的常用方法。 NSNumber常用方法 (NSNumber * ) numberWithInt:(int) // 建立一個整型NSNumber物件。 NSNumber *month = [NSNumber numberW

html5中的localStoragesessionStorage常用方法區別

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

java中RequestResponse常用方法及舉例

Request的常用方法: setAttribute() 在Request域中儲存資料 setCharacterEncoding() 設定請求引

字串陣列常用方法整理

字串方法 獲取字串某位字元 [] === charAt let str = "abcdefg"; console.log(str[0]);//"a" console.log(str.charAt(1));//"b" 複製程式碼 獲取字串長度 str.length let str

黑馬程式設計師——Foundation框架——NSArrayNSMutableArray

接下來複習的內容是Foundation中使用頻率很高的NSArray和NSMutableArray。 這兩個類和Java中集合的概念相似。 一、NSArray NSArray是一個數組性質的類。並且同樣與Java類似,只能用來存放物件(且只能是OC物件)。不允許有空值出現

Objective-C中NSArrayNSMutableArray是如何使用的?

Objective-C的陣列比C++,Java的陣列強大在於,NSArray儲存的物件可以是不同的物件。但只能儲存物件,int ,char,double等基本資料型別不能直接儲存,需要通過轉換成物件才能加入陣列。 1、NSArray 不可變陣列 [array count]