文档章节

OC数据类型 enum NSRange NSPoint NSSize NSRect NSDate N

尘埃眠于光年yr
 尘埃眠于光年yr
发布于 2015/10/15 18:21
字数 774
阅读 154
收藏 0
点赞 0
评论 0

    

//------------------------------------------------

    //可变的字典 NSMutableDictionary

    //第一种定义方式 返回一个空的字典

    NSMutableDictionary *mutableDict1 = [NSMutableDictionary dictionary];

    //第二种定义方式 返回一个空的字典 并且创建一个初始的存储空间

    NSMutableDictionary *mutableDict2= [[NSMutableDictionary alloc]initWithCapacity:10];

    //第三种定义方式 返回一个字典 里面包含里了一个已创建过的不可变的字典集合

   

    //返回数组集合里面包含字典里的所有的Key数据

    NSArray *array1 = [mutableDict2 allKeys];

    //利用Key数组的有序性,返回字典里的Value

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

        NSLog(@"key: %@, value: %@",array[i], mutableDict2[array1[i]]);

    }


    //---------------枚举-----------------

    

    //swift 语言中的三大语言类型 enum struct class

    

    //定义

    //c的枚举

    enum name {

        age = 10,

        score = 90

    };

    //typedef 定义类型的别名 再枚举不允许重复定义

    typedef enum

    {

       scoreI = 80

    }name1;

    

    //OC的枚举 常用枚举:是一个抽象类,它能枚举的形式把例如数组和字典等集合列举出来

    //例如列举字典 一般只能列举出来字典的键

    NSDictionary *dictIII = @{@"1-1":@"name",@"1-2":@"age",@"1-3":@"score"};

    //返回的是一个集合里的枚举数据

    NSEnumerator *enumerator = [dictIII  objectEnumerator];

    

    id dictI ;

    //返回集合的下一个对象 列举

    while (dictI = [enumerator nextObject]) {

        

        NSLog(@"%@",dictI);

    }

    

    //-----------结构体-------------

    //C的结构体

    //申明一个结构体,设置结构体里的属性

    //注意:结构体不能在初始赋值

    struct structI{

        //NSString *name;

    };

    

    //注意:在OCARC(自动引用计数)的情况下,不能设置结构体属性

    //struct structI structII= { .name = @"jack" };

    //NSLog(@"structII name: %@", structII.name );

    

    //OC的常用结构体:NSRange NSRect NSPoint NSSize

    //结构体一般不需要指针表示

    

    //1.NSRange: 一般用于描述一个范围,通常用于字符串、对象查找

    //location: 起始位置 length: 长度

    NSString *string = @"1234567890";

    NSRange rangeII = NSMakeRange( 8, 2 );

    

    //通过字符串返回范围

    NSRange rangeI = [ string rangeOfString:@"90"];

    

    //通过范围返回字符串

    NSLog(@"%@", [string substringWithRange:rangeII]);

    NSLog(@"location: %li, length: %li", rangeI.location, rangeI.length );

    

    //2.NSPoint 用于描述一个坐标 x,y

    NSPoint pointI = NSMakePoint( 3.4, 1.2 );

    CGPoint pointII = NSMakePoint( 3.5, 1.3 );

    NSLog(@"x:%.2f, y: %.2f", pointI.x, pointI.y );

    NSLog(@"x:%.2f, y: %.2f", pointII.x, pointII.y );

    

    //3.NSSize 用于描述一个宽高,width,height

    NSSize sizeI = NSMakeSize( 300 , 120 );

    CGSize sizeII = NSMakeSize( 300.1 , 120.1 );

    NSLog(@"width : %.2f , height: %.2f", sizeI.width, sizeI.height);

    NSLog(@"width : %.2f , height: %.2f", sizeII.width, sizeII.height);

    

    //4.NSRect 用户描述一个坐标以及宽高

    NSRect rectI = NSMakeRect( 1, 2.1, 100, 200.1);

    NSLog(@"x: %.2f , y: %.2f , width: %.2f , height: %.2f",

          rectI.origin.x, rectI.origin.y, rectI.size.width, rectI.size.height);


    

    //-----------NSDate------------

    //拿到时间

    NSDate *date = [[NSDate alloc]init];

    

    ////有时区差

    //需要格式化

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

    

    //设置要格式成什么时间格式

    //HH是二十四小时制,hh是十二小时制

    [dateFormatter setDateFormat:@"yyyyMMdd HHmmss"];

    NSLog(@"%@",[dateFormatter stringFromDate:date]);

    

    //把字符串转换成NSNDate dateFromString

    //注意:字符串的格式要和时间格式一样


    //---------- NSvalue----------

    //定义一个NSValue

    NSValue *value = [[NSValue alloc]init];

    

    //作用:结构体不能直接存放到一个数组中,要先转换成NSValue类型,然后再放入到数组中

    

    //常见结构体:NSRange NSPoint NSSize NSRect

    //rect转换成NSValue

    NSValue *valueI = [NSValue valueWithRect:rect];

    //转换后存入数组

    NSArray *array = @[valueI];

    NSLog(@"%@",array);

    


© 著作权归作者所有

共有 人打赏支持
尘埃眠于光年yr
粉丝 0
博文 15
码字总数 13635
作品 0
西安
OBjectve-c 基本数据类型 总结

#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char argv[]) { @autoreleasepool { / 字符串可变 不可变 NSMutableString NSString 数组 可变 不可变 NS......

xtzPioneer
2015/11/13
0
0
Foundation框架

什么是框架 众多功能API的集合 Foundation框架的作用 Foundation框架是MaciOS中其他框架的基础 Foundation框架包含了很多开发中常用的数据类型: 结构体 枚举 类 如何使用Foundation框架 要想...

5vinsEnt
2016/03/30
29
0
Cocoa数据类型(NSString等)

Cocoa框架中的数据类型 1 NSRange: typedef struct _NSRange{ unsigned int location; unsigned int length; }NSRange; location:表示范围的起始点 length:表示范围中所含元素的个数 作用:用...

Ajkl
2012/11/24
0
0
五.Foundation框架(1)--NSSize   NSPoint   NSRange   NSRect 结构体

在讲述框架之前,我们可以想象一个问题,那就是为什么我们每次创建文件的时候,都去选择Cocoa Class或者Cocoa Touch Class 尼? Cocoa 是什么? ocoa不是一种编程语言(它可以运行多种编程语言...

天宇逍遥heart
2016/09/20
6
0
OC语言自学《十二》---- OC(Foundation框架部分知识总结)

NSRange 表示一个范围 主要用来操作字符串 CGPoint、NSPoint 通过设置x坐标和y坐标来设置某个点 IOS设备的x和y从左上角开始,y值往下面增加,x值往右面增加 CGSize、NSSize 表示一个矩形尺寸...

罗眯眯
2014/04/09
0
0
【非凡程序员】 OC第六节课 (枚举,字典,结构体,NSRange,CG类型,NSnumber,空)

#import <Foundation/Foundation.h> #import "Article.h" #import "Person.h" int main(int argc, const char argv[]) { @autoreleasepool { //自动释放池 (半自动) //---------------------......

七月流火zsp
2015/05/19
0
0
foundation之结构体

一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。 如果要想使用foundation框架中的数据类型,那么包含它的主头文件...

DevShaw
2016/01/07
11
0
Object-C学习笔记(二 )

今天了解了下Object-C中的一些数据结构类型,和操作方式。 Object-C 封装了一些常用的Struct,例如:NSRange、NSSize、NSPoint、NSRect 等便于大家的使用,之所以把他们定义成Struct而没有封...

logbird
2012/12/01
0
0
iOS-Foundation框架中常用的类

Foundation框架中最常用的类。 Foundation框架中最我们经常用的类大致有NSString、NSArray、NSDictionary等等,虽然不需要将每一个类中提供了什么方法都记下来,但是需要做到心中有数,知道F...

xx_cc
2016/10/25
0
0
foudation

// // main.m // reviseFoundationBaseType // // Created by on 15/5/28. // Copyright (c) 2015年. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" int ......

小黑202
2016/07/15
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部