IOS学习笔记-4

哎,好多日都没有更新博客了,一方面因为自己本身在学习的过程中也做了个人的笔记。另外一个最重要的原因就是公司那边实在是太多东西要忙了。有时候发现都有点难以兼顾了。但是,告诉自己还要坚持。这一个月以来,发现自己对硬件越来越不感兴趣了。很讨厌整天在调试硬件,即使自己一直都是在写软件。太多实际的硬件问题解决不了,自己很难写程序。。。整天在调试几句的代码,非常的没有味道,非常的枯燥呀。

      好了,言归正传。到今晚为止,OC的语法的学习都进入倒数时间了。Xcode上面好多的API还是不是很熟练,需要多多的联系,比较重要的当然是字符串处理吧。记得,大学的时候,自己一直都几乎都在搞字符串处理。通过,这些过程,让自己对语言的本身更加深入地理解。一大堆的结构体,链表。。。很可惜的是,没有什么好的设计模式,这个要在后面学习一下,可以搞一些框架的东西处理。好了,哈哈,下面就是今晚的学习成果。

     今晚,学习了数组(动态与静态),字典,NSNuber,NSValue。。。立马上代码,‘直接看代码注释更加好了,讲解也是没有什么好讲解的。


//
//  main.m
//  array
//
//  Created by chuck on 14-9-9.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>

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

    @autoreleasepool {
        
        typedef struct{
            int age;
        }Student;  //创建一个简单的结构体;使用typedef
        
        Student std1={60};
        int value=25;
        
        // insert code here...
        NSLog(@"Hello, World!");
        
        NSArray *array1=@[@10,@(value),@"tom"];//使用最简便的方法来初始化一个静态数组,该方法的使用非常接近C语言。
                                    //但是从上面可以看到,因为NSArray数组不能初始化基本数据类型,只可以成员是OC对象,那么当前使用   “@10”就可以,同样地,使用“@(变量名称)”;
        NSLog(@"%@",array1[0]);
        
        int num1;
        [array1[0] getValue:&num1];  //使用一般对象的getvalue方法,但是相比下面的,下面的会更加方便吧
        NSLog(@"num1=%d",num1);
        
        int num2;
        num2 = [array1[1] intValue];//使用更加快捷的方法向数组取值
        NSLog(@"num2=%d",num2);
        
        //下面展示的时如何快速初始化以及简单使用一个字典
        
        NSDictionary *dict = @{@"name": @"chuck",@"address":@"Guanzhou"};//与数组一样init一个字典
        
        NSLog(@"%@",dict[@"name"]);//查字典,OK
        
        
        //下面展示 NSVlaue,它的用处在于是平时将自定义的结构体如何使用NSValue来被放进到一个数组里面。
        NSValue *val1 = [NSValue valueWithBytes:&std1 objCType:@encode(Student)];
        //使用动态数组来操作数据
        NSMutableArray *marry1=[NSMutableArray arrayWithObjects: nil];//init一个动态数组,这里其实跟C语言的链表很相似的
        [marry1 addObject:val1 ];
        
        Student std2;
         [marry1[0] getValue:&std2];//直接使用强制类型转换,使用数据,符合C语言的使用
        
        //使用静态数组来操作成员数据
        /*
        NSArray *array3=@[val1];
        NSValue *val2=array3[0];
        [(NSValue *)array3[0] getValue:&std2];
        */
       
        
        NSLog(@"%d",std2.age);
        
        
    }
    return 0;
}



接下来,是一些输出的调试信息:

2014-09-09 23:46:30.159 array[1458:303] Hello, World!
2014-09-09 23:46:30.164 array[1458:303] 10
2014-09-09 23:46:30.165 array[1458:303] num1=10
2014-09-09 23:46:30.165 array[1458:303] num2=25
2014-09-09 23:46:30.166 array[1458:303] chuck
2014-09-09 23:46:30.167 array[1458:303] 60
Program ended with exit code: -1

今晚就到此为止了,早点训教,好累。明天还要继续上班呢~加油!!



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值