26-黑马程序员——OC 语言学习笔记— Foundation01

26-黑马程序员——OC 语言学习笔记— Foundation01

黑马程序员——<a href=”http://www.itheima.com” target=”blank”>Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ——-

Foundation框架是iOS开发的基础框架,它包括字符串、集合、日期、时间等基础类

void test(){
  //定义Date这种结构体类型
  struct Date{
     int year; 
     int month;
     int day;
  }
  //定义结构体变量
   struct Date d = {2013, 07, 27};
   d.day = 6;
}

void test1(){
    typedef struct {
       int year; 
       int month;
       int day;
    } MyDate;
     //MyDate就是这个结构体
     MyDate d = {2013, 07, 27};
}

  

NSRange、CGRange :

源码是:
typedef struct _NSRange {

   NSUInteger location; //起始位置
   NSUInteger length; //元素个数
} NSRange;

三种方式创建一个NSRange变量
方式一:
NSRange reange;
reange.location = 7;
range.length = 3;

方式二:
NSRange range = {3, 7}
或者 NSRange range = {.location=7, .length = 3};

方式三(最常用):
Foundation框架提供的一个快捷函数NSMakeRange
NSRange range = NSMakeRange(7,3);

使用方法:
void range() {

  NSRange range = NSMakeRange(8, 10); //结构体不是对象
  NSLog(@”location:%zi”, range.location); //$z 无符号

//把range转换成字符串
  NSString * str = NSStringFromRange(range);
  NSLog(@”%@”, str);  //打印: {8, 10}
}

NSPoint、CGPoint:

void point(){

     NSPoint p; //也可以写成CGPoint
     //方式一
     p.x = 1;
     p.y = 10;
     //方式二
     p = NSMakePoint(1,9);
     //或者p = CGPointMake(1, 9); //(最常见的方式)

     //把NSPoint结构体编程字符串
     NSString *str = NSStringFromPoint(p);
     NSLog(@”%@”, str); //打印 {1, 10};
}

NSSize、CGSize:

void size() {

   NSSize size ;
   //方式一
   size.width = 100;
   size.height = 90;
  
  //方式二
  size = NSMakeSize(100,90);
  //或者size = CGSizeMake(100, 90);

   NSString * str = NSStringFromSize(size);
   NSLog(@”%@”, str); //打印 {100, 90}
}

NSRect、CGRect
包含位置(origin)、尺寸(size)

void rect() {

   NSRect rect ;
   rect.origin.x = 10;
   rect.origin.y = 11; //不允许使用 rect.origin = {10, 11}这种方式

   rect.size.width = 100;
   rect.size.height = 90;

   //也可以使用下面方式赋值
   rect = CGMakeRect(10, 11, 100, 90);

   NSString * str = NSStringFromRect(rect);
   NSLog(@”%@”, str); //打印{
{10, 11},{100, 90}}
}

 
 
 
 
 

转载于:https://www.cnblogs.com/iceshan/p/4492921.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109456.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月6日 下午7:00
下一篇 2021年9月6日 下午8:00


相关推荐

  • 个性化音频生成GPT-SoVits部署使用和API调用

    个性化音频生成GPT-SoVits部署使用和API调用

    2026年3月16日
    2
  • 《画解数据结构》九张动图,画解顺序表「建议收藏」

    《画解数据结构》九张动图,画解顺序表「建议收藏」关于数组的8个算法,带你进入算法的大门

    2022年6月28日
    47
  • javaScript模块化解析「建议收藏」

    javaScript模块化解析「建议收藏」JavaScript模块化解析什么是模块化?到底什么是模块化、模块化开发呢?事实上模块化开发最终的目的是将程序划分成一个个小的结构;这个结构中编写属于自己的逻辑代码,有自己的作用域,不会影响到其他的结构;这个结构可以将自己希望暴露的变量、函数、对象等导出给其结构使用;也可以通过某种方式,导入另外结构中的变量、函数、对象等;上面说提到的结构,就是模块;按照这种结构划分开发程序的过程,就是模块化开发的过程;无论你多么喜欢JavaScript,以及它现在发展的有多好,它都有很多的缺陷:比如

    2025年6月6日
    4
  • pycharm虚拟环境下安装第三方库_pycharm需要配置环境变量吗

    pycharm虚拟环境下安装第三方库_pycharm需要配置环境变量吗pycharm配置虚拟环境安装虚拟环境1.安装相关库pipinstallvirtualenv2.切换到python安装目录下,创建虚拟环境virtualenv虚拟环境名(可自定义)virtualenvvenv3.进入cd到虚拟环境的位置(目录)的Scripts中,激活(activate.bat)虚拟环境cdvenv\Scripts#激活虚拟环境activate.bat4.退出虚拟环境deactivate.batdeactivate.bat5.使用在p

    2022年8月28日
    10
  • 超火的Vhr(SpringBoot +Vue)实战项目+文档

    超火的Vhr(SpringBoot +Vue)实战项目+文档项目摘要vhr是一个基于SpringBoot+Vue技术栈开发的前后端分离项目,项目使用SpringBoot2.1.8来开发,集成了当前企业级开发中众多的热门技术点,如消息中间件、Redis缓存、SpringBoot+Vue+ElementUI技术栈等等。技术选型核心框架:SpringBoot2.1.8 安全管理:SpringSecurity 持久层框架:MyBatis 缓存:Redis 数据库:MySQL8 消息队列:RabbitMQ 即时通信:WebSocket

    2025年7月6日
    4
  • 像素密度的计算[通俗易懂]

    像素密度的计算[通俗易懂]手机屏幕5.0,指的是手机对角线的长度是5.0英寸,像素是960*1280,则像素密度的计算公式就是960的平方+1280的平方开根号除以5,得到的就是像素密度,一般有120,160,320,480

    2022年6月10日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号