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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm添加pip指令安装库的方法[通俗易懂]

    pycharm添加pip指令安装库的方法[通俗易懂]我们在cmd命令窗口通过pip指令安装的python第三方库,在使用pycharm的时候并不能直接使用,需要通过配置与python3.8的外部库相连接。1.file–>setting2.project–>ProjectInterpreter选择python.exe的路径,一般在python3.x文件夹下3.添加python.exe的路径如果没有类似python3.8/python.exe的选项,就点击右侧的设置按钮添加然后点击OK就会出现如下通过pip指令安装的所有第三方库,

    2022年8月25日
    8
  • navicat15永久激活码【2021免费激活】

    (navicat15永久激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSWQi…

    2022年3月27日
    235
  • redis如何查看版本号_redis版本号

    redis如何查看版本号_redis版本号linux环境下查看redis的版本:查看redis的版本有两种方式:1.redis-server–version和redis-server-v 得到的结果是:Redisserverv=3.2.12sha=00000000:0malloc=jemalloc-3.6.0bits=641.redis-cli–version和redis-cli-…

    2022年10月19日
    6
  • Android开发之布局优化

    Android开发之布局优化

    2022年1月27日
    47
  • thinkphp一键清除缓存的方法

    thinkphp一键清除缓存的方法

    2021年10月26日
    40
  • mbus主站电路设计_proteus子电路模块

    mbus主站电路设计_proteus子电路模块1Mbus接收发送机制对于主从式通信系统,因从机之间不能直接交换信息,只能通过主机来转发,此时采用MBus可以实现对从机的相关数据进行采集,并传递至集中器,然后再传递至总站。它由主机从机和两线制总线组成。MBus总线是一种半双工通信总线,其可以通过集中器实现给终端仪表远程供电。1.1发送由集中器向终端仪表传输的信号采用电压值的变化来表示,即集中器向终端仪表发送的数据码流是一种电压脉冲序列,用+36V表示逻辑“1”,用+24V表示逻辑“0”。在稳态时,线路将保持“1”状态。

    2022年10月15日
    3

发表回复

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

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