OC04 NSString、NSArray、NSNumber-2

//

//  main.m

//  OC04 NSStringNSArrayNSNumber-2

//

//  Created by xalo on 15/10/29.

//  Copyright (c) 2015 康大亮. All rights reserved.

//


#import <Foundation/Foundation.h>


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


#pragma mark NSArray数组类的初级使用

    /*

     * OC数组中的成员是 有序 的,索引从0开始

     * 数组中存储的都是对象,对象不分类型。(但是不能存放基本数据类型)

     * 数组分为可变数组和不可变数组

     */

    

#pragma mark 不可变数组

    // 创建一个不可变数组

    NSArray *array1 = [NSArray arrayWithObject:@"hello"];

    NSLog(@"%@", array1);

    

    // 在创建有多个元素的数组,必须在元素结尾处,且只能在结尾处添加一个nil对象(表示数组元素到此结束)

    NSArray *array2 = [NSArray arrayWithObjects:@"hello", @"world", nil];

    NSLog(@"%@", array2);

    

    

    // 如果数组中某个元素在创建时不能确定,我们可以使用NSNull对象来占位。

    NSArray *array3 = [NSArray arrayWithObjects:@"hello",[NSNull null],@"world", nil];

    NSLog(@"%@", array3);

    

    

#pragma mark 不可变数组的操作

    // 1)获取数组元素的个数

    int a = (int)[array3 count];

    NSLog(@"%d", a);

    

    // 2) 获取某个索引值位置的元素

    // 因为不能确定获取到的元素师属于哪一个类,所以在定义的对象必须是泛型。instancetype只能用在方法的返回值部分,来确保返回值的类型安全,不能用在这里声明一个对象,在这里需要使用id

    id temp = [array3 objectAtIndex:2]; // id是泛型,因此temp前不需要*

    NSLog(@"%@", temp);

    

    // 3)获取某个元素在数组中的索引,如果这个对象并不在数组中,则返回一个负数

    int index = (int)[array3 indexOfObject:temp];

    NSLog(@"%d", index);

    

    // 4)遍历数组:使用for循环遍历数组

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

        id object = [array3 objectAtIndex:i];

        NSLog(@"**%@", object);

    }

    

#pragma mark 可变数组的操作 

    // 创建一个可变数组

    NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];

    // 1)给数组添加一个新元素(按顺序添加)

    [mArray addObject:@"5"];

    NSLog(@"%@",mArray);

    // 2)给数组添加一个新元素(指定位置插入新元素)

    [mArray insertObject:@"12" atIndex:2];

    NSLog(@"%@",mArray);

    

    

    // 3)交换两个元素的位置

    [mArray exchangeObjectAtIndex:3 withObjectAtIndex:4];

    NSLog(@"%@",mArray);

    

    // 4) 替换某个元素

    [mArray replaceObjectAtIndex:3 withObject:@"welcome to my room"];

    NSLog(@"%@",mArray);

    

    

    // 5) 删除元素

    // 5.1根据下标删除元素

    [mArray removeObjectAtIndex:1];

    NSLog(@"%@",mArray);

    // 5.2直接删除指定的对象

    [mArray removeObject:@"welcome to my room"];

    NSLog(@"%@",mArray);

    // 5.3删除最后一个元素

    [mArray removeLastObject];

    NSLog(@"%@",mArray);

    // 5.4删除全部元素

    [mArray removeAllObjects];

    NSLog(@"%@",mArray);

    

    

    

    

    

#pragma mark NSNumber

    // NSNumber专门用来将基本数据类型封装为OC中的对象

    

    // 整形数转化为NSNumber对象

    NSNumber *intNumber = [NSNumber numberWithInt:10];

    NSLog(@"%@",intNumber);

    //

    NSNumber *_floatNumber = [NSNumber numberWithFloat:3.14];

    NSLog(@"%@",_floatNumber);

    

    // NSNumber转化回基本数据类型(逆向转化)

    int d = [intNumber intValue];

    NSLog(@"%d", d);

    //

    float f = [_floatNumber floatValue];

    NSLog(@"%.2f", f);

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值