zoukankan      html  css  js  c++  java
  • Objective--C的Foundation frame之NSMutableArray代码

     1 #import <Foundation/Foundation.h>
     2 
     3 @interface Person : NSObject
     4 
     5 @property (nonatomic, strong)NSString *personName;
     6 - (id)initWithName:(NSString *)name;
     7 
     8 @end
     9 
    10 #import "Person.h"
    11 
    12 @implementation Person
    13 
    14 - (id)initWithName:(NSString *)name
    15 {
    16     if (self = [super init])
    17     {
    18         _personName = name;
    19     }
    20     return self;
    21 }
    22 
    23 @end
    24 
    25 #import <Foundation/Foundation.h>
    26 #import "Person.h"
    27 int main(int argc, const char * argv[])
    28 {
    29     @autoreleasepool
    30     {
    31         Person *p1 = [[Person alloc] initWithName:@"张三"];
    32         Person *p2 = [[Person alloc] initWithName:@"李四"];
    33         Person *p3 = [[Person alloc] initWithName:@"王五"];
    34         NSArray *personArray = [[NSArray alloc] initWithObjects:p2, p3, nil];
    35         
    36         NSMutableArray *array = [[NSMutableArray alloc] init];
    37         //添加元素
    38         [array addObject:p1];
    39         [array addObjectsFromArray:personArray];
    40         NSLog(@"%@", array);
    41         //删除元素
    42         //删除数组内所有的元素
    43 //        [array removeAllObjects];
    44         //删除数组最后一个元素
    45 //        [array removeLastObject];
    46         //删除指定元素
    47         [array removeObject:p2];
    48         //删除指定下标的元素(注意数组内元素的个数下标问题会导致崩溃)
    49 //        [array removeObjectAtIndex:2];
    50         NSLog(@"2.%@", array);
    51         
    52         //交换元素的位置
    53         [array exchangeObjectAtIndex:0 withObjectAtIndex:1];
    54         NSLog(@"%@", array);
    55     }
    56     return 0;
    57 }

     *************补充NSArray***********

     1 #import <Foundation/Foundation.h>
     2 
     3 int main(int argc, const char * argv[])
     4 {
     5     @autoreleasepool
     6     {
     7         //  OC的数组可以存储不同类型的对象,OC的数组只能存储对象
     8         NSArray *array1 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", nil];
     9         //  数组的长度
    10         int count = (int)array1.count;
    11         NSLog(@"count = %d", count);
    12         //判断数组中是否包含对应的对象
    13         BOOL isHave = [array1 containsObject:@"c"];
    14         if (isHave)
    15         {
    16             NSLog(@"存在");
    17         }
    18         else
    19         {
    20             NSLog(@"不存在");
    21         }
    22         //取得数组中的最后一个元素
    23         NSString *str = [array1 lastObject];
    24         NSLog(@"str = %@", str);
    25         //取首元素
    26         str = [array1 firstObject];
    27         NSLog(@"str = %@", str);
    28         //取出下标为2的元素****
    29         str = [array1 objectAtIndex:2];
    30         NSLog(@"str = %@", str);
    31         //打印元素所对应的下标(如果元素不存在则打印-1的值)
    32         int index = (int)[array1 indexOfObject:@"d"];
    33         NSLog(@"index = %d", index);
    34         
    35         //数组的遍历(1.基本的for循环通过下标逐一取出查看。2.for in 快速枚举。3.枚举器(迭代器))
    36         for(int i = 0; i < count; ++i)//int count = (int)array1.count;
    37         {
    38             NSLog(@"%@", array1[i]);
    39         }
    40         //或者
    41         for(int i = 0; i <count; ++i)
    42         {
    43             NSString *str1 = [array1 objectAtIndex:i];
    44             NSLog(@"str1 = %@", str1);
    45         }
    46         //2.(如果使用快速枚举,我们需要让数组中元素的类型保持一致)
    47         for(NSString *str2 in array1)
    48         {
    49             NSLog(@"str2 = %@", str2);
    50         }
    51         //3.枚举器
    52         for(id object in array1)
    53         {
    54             NSLog(@"object = %@", object);
    55         }
    56         
    57         return 0;
    58     }
    59 }
     1 2016-08-10 15:32:58.788 NSArray[1308:191388] count = 5
     2 2016-08-10 15:32:58.789 NSArray[1308:191388] 存在
     3 2016-08-10 15:32:58.789 NSArray[1308:191388] str = e
     4 2016-08-10 15:32:58.789 NSArray[1308:191388] str = a
     5 2016-08-10 15:32:58.789 NSArray[1308:191388] str = c
     6 2016-08-10 15:32:58.789 NSArray[1308:191388] index = 3
     7 2016-08-10 15:32:58.789 NSArray[1308:191388] a
     8 2016-08-10 15:32:58.789 NSArray[1308:191388] b
     9 2016-08-10 15:32:58.789 NSArray[1308:191388] c
    10 2016-08-10 15:32:58.790 NSArray[1308:191388] d
    11 2016-08-10 15:32:58.790 NSArray[1308:191388] e
    12 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = a
    13 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = b
    14 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = c
    15 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = d
    16 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = e
    17 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = a
    18 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = b
    19 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = c
    20 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = d
    21 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = e
    22 2016-08-10 15:32:58.790 NSArray[1308:191388] object = a
    23 2016-08-10 15:32:58.791 NSArray[1308:191388] object = b
    24 2016-08-10 15:32:58.791 NSArray[1308:191388] object = c
    25 2016-08-10 15:32:58.791 NSArray[1308:191388] object = d
    26 2016-08-10 15:32:58.791 NSArray[1308:191388] object = e
    27 Program ended with exit code: 0
  • 相关阅读:
    C++继承与派生的概念、什么是继承和派生
    为什么要用重载(学习笔记)
    C++ 为什么要用覆盖(学习笔记)
    做一个爱分享的人技术牛人博客
    okhttp head()请求
    android 8.0 前台服务问题
    android 配置 kotlin 使用jdk1.8编译
    java 获取apk包的版本号、包路径。权限信息
    vue 自定义input控件 v-model 绑定数据问题
    android ViewModel 列表数据获取条数
  • 原文地址:https://www.cnblogs.com/songlei0601/p/5748937.html
Copyright © 2011-2022 走看看