다크호스 프로그래머 - ios 학습노트Foundation의 NSArray

3823 단어
------Java 교육, Android 교육, iOS 교육,.Net 교육、당신과 교류하기를 기대합니다!-----
NSArray 1. 기본 소개 1. 정의:oc의 그룹 클래스 2. 주의사항: 1) 임의의 oc 대상만 저장할 수 있고 순서가 있습니다.2) int/float/double/char/enum/struct 등 비oc 대상을 저장할 수 없음;3) 변할 수 없는 것으로 초기화가 완료되면 그 안의 내용은 영원히 고정되어 안의 원소를 삭제할 수 없고 안에 원소를 추가할 수 없다.      NSArray *array=[NSArray array];//이 수조는 영원히 비어 있어 그 안에 값을 추가할 수 없습니다.(불가변성)4) NSArray는 NSLog()인을 문자열로 직접 출력할 때 작은 괄호로 묶는 형식이다.5) NSArray에는 nil을 저장할 수 없습니다. NSArray는 nil을 수조의 끝이라고 생각하기 때문입니다(nil은 수조 요소의 끝 표시이고 nil은 0,0을 기본 데이터 형식으로 하고 NSArray에 저장할 수 없습니다).2. 창설 방식(instancetype)array;
NSArray *arr1=[NSArray array]; // 
(instancetype)arrayWithObject:(id)anObject;
NSArray *arr2=[NSArray arrayWithObject:@"2"];                        // 
(instancetype)arrayWithObjects:(id)firstObj,……;
NSArray *arr3=[NSArray arrayWithObjects:@"you",@"me",@2,@"he",nil];  // ( ),nil 
(instancetype)arrayWithArray:(NSArray *)array;
 NSArray *arr5=[NSArray arrayWithArray:arr3];                        // 
(instancetype)[NSArray alloc]initWithObjects:(id)firstObj,……;
NSArray *arr4=[[NSArray alloc]initWithObjects:@"she",@"here", nil];  // , 
NSArray *arr7=[[NSArray alloc]initWithObjects:@"she",[NSNull null],@"here", nil];// null
셋째, 흔한 용법-(NSUInteger)count;->컬렉션 요소 개수 가져오기
NSLog(@"%ld",arr3.count);                  // , 
- (id) objectAtIndex: (NSUInteger) index; ->index 위치의 원소 획득
NSLog(@"%@",[arr3 objectAtIndex:1]);       // , 
-(BOOL)containsObject: (id)anObject;->요소 포함 여부
if ([arr3 containsObject:@"you"]) {        // 
            NSLog(@" ");
          }else{
             NSLog(@" ");
            }
-(id)firstObject;->첫 번째 요소 반환
NSLog(@"%@",[ar1 firstObject]);  // 
- (id) lastObject; ->마지막 요소로 돌아가기
NSLog(@"%@",[ar1 lastObject]);   // 
4, 스트리밍 방법1, 아래 커서 스트리밍
for (int i=0; i%@",arr[i]);
        }
2, 빠른 스트리밍
for (NSString *str in arr) {     // for 
            NSLog(@"-->%@",str);
        }
3, Bloc 스트리밍
 [arr enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){  //obj ,idx ,stop 
            NSLog(@"idx=%ld,obj=%@",idx,obj); }];
        //   stop:YES       stop:NO  
        [arr enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){
            if (idx==2) {
                *stop=YES;  // ,break
            }else{
              NSLog(@"idx=%ld,obj=%@",idx,obj); // , 
            }
           }];
5, 읽기 및 쓰기 파일1, 읽기 파일
NSArray *array=[NSArray arrayWithObjects:@"love",@"what",@"why",@"here", nil];  // 
        BOOL iswrite=[array writeToFile:@"/Users/lanlan/Desktop/arr.plist" atomically:YES];// arr.plist 
        BOOL iswrite=[array writeToFile:@"/Users/lanlan/Desktop/arr.xml" atomically:YES];  // arr.xml 
        if (iswrite) {
            NSLog(@" ");
        }
2, 파일에서 NSArray로 읽기
 NSArray *readarr=[NSArray arrayWithContentsOfFile:@"/Users/lanlan/Desktop/arr.plist"];// arr.plist NSArray 
 NSArray *readarr1=[NSArray arrayWithContentsOfFile:@"/Users/lanlan/Desktop/arr.xml"];// arr.xml NSArray 
 NSLog(@"readarr1=%@",readarr1);
2,
------Java 교육, Android 교육, iOS 교육,.Net 교육、당신과 교류하기를 기대합니다!-----

좋은 웹페이지 즐겨찾기