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


相关推荐

  • java类加载的过程 父_类加载机制原理

    java类加载的过程 父_类加载机制原理JVM和类当我们调用Java命令运行某个Java程序时,该命令将会启动一条Java虚拟机进程,不管该Java程序有多么复杂,该程序启动了多少个线程,它们都处于该Java虚拟机进程里。同一个JVM的所有线程、所有变量都处于同一个进程里,它们都使用该JVM进程的内存区。当系统出现以下几种情况时,JVM进程将被终止:程序运行到最后正常接收; 程序运行到使用Sys…

    2022年8月11日
    8
  • linux内核编译详解[通俗易懂]

    linux内核编译详解[通俗易懂]前言Linux内核是Linux操作系统的核心,也是整个Linux功能体现的核心,就如同发动机在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管理、设备管理、网络管理等。Linux内核是单内核设计,但却采用了微内核的模块化设计,支持内核线程以及动态装载内核模块的能力。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果…

    2022年7月23日
    12
  • vue富文本编辑器插件推荐_elementui富文本编辑器

    vue富文本编辑器插件推荐_elementui富文本编辑器富文本编辑器官网http://tinymce.ax-z.cn安装npminstalltinymce-Snpminstall@tinymce/tinymce-vue-S下载语言包语言包下载完之后在项目里新建public文件夹1)在public目录下新建tinymce文件夹,并将下载的语言包解压到该目录下2)在node_modules里面找到tinymce,将skins目录复制到public/tinymce里面<template><divclass

    2022年10月15日
    6
  • Python绘制地图神器folium介绍及安装使用教程

    Python绘制地图神器folium介绍及安装使用教程想要绘制更精美的可视化地图?想在地图上自由的设置各种参数?想获得灵活的交互体验?今天它就来了,Python绘制地图神器folium,上手直接开大!

    2025年7月30日
    6
  • C语言获取当前的日期及时间

    C语言获取当前的日期及时间我们在写 C 语言程序的时候 有的时候会用到读取本机的时间和日期 怎么做呢 其实很简单的 下面简单说一下 C 语言中读取系统时间的函数为 time 其函数原型为 include time h time ttime time t time t 就是 long 函数返回从 1970 年 1 月 1 日 MFC 是 1899 年 12 月 31 日 0 时 0 分 0 秒 到现在的的秒数 可以调用 time h

    2026年3月18日
    2
  • Android 多个Activity bindService的使用及Service生命周期

    Android 多个Activity bindService的使用及Service生命周期原文:https://blog.csdn.net/iispring/article/details/48169339 Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况。如果想了解startService…

    2022年5月7日
    74

发表回复

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

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