iOS字面量语法

2024-03-31 17:18
文章标签 语法 ios 字面

本文主要是介绍iOS字面量语法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

         

在编写oc的时候,总会遇到几个类,他们都属于Foundation框架,例如这几个类:NSString,NSNumber,NSArray,NSDictionary。oc的语法初次接触的时候感觉会比较繁杂,但是有一种方法,非常简单的创建,例如NSString

NSString * someString = @"CSDN 博客";
这种方法比较简单,他可以缩减源码的长度来阅读。

下面就来来介绍几个常用的

1.字面数值

NSNumber * someNumber = [NSNumber numberWithInt:1];

可以替换位

NSNumber * someNumber = @1;


还有其他的

    NSNumber * doubleNumber = @10.12;
    NSNumber * boolNumber = @YES;
    NSNumber * charNumber =@'a';

2. 字面量数组

平时数组的声明

    NSArray * word = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];

用字面量
    NSArray * word  =@[@"a",@"b",@"c"]; 

数组用若有nil就会抛出异常,这个也可以叫做语法糖,过程相当于先创建一个数组,然后将对象添加进来,空的对象是无法添加的。

这样在实际的应用中我们在解析数据添加数组的时候如果用语法糖,添加nil的话就会抛出异常,有益于我们查找问题,而数组用arrayWithObjects添加的时候如果发现nil就会添置添加,加到nil为止,这样语法为我们找出了nil 的地方。

使用的时候

NSString * wo = word[1];

很想C语言中的数组吧。。。。。。。。。。


3. 字面量字典

    NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:@"Matt",@"OneKey",@"Riq",@"twoKey",nil];
    
    // 对象---键

用语法糖如下

NSDictionary * dic =@{@"Matt":@"OneKey",@"Riq":@"twoKey"};

记住用字面量创建出来的都是不可变的但是可以复制一份就可以了


  NSMutableArray * mutable = [@[@"fs",@"d"] mutableCopy];

与上面一样 如果有nil就会抛出异常

不足之处就是创建出来的对象必须是Foundation框架才行。



这篇关于iOS字面量语法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/864875

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板

Java基础回顾系列-第一天-基本语法

基本语法 Java基础回顾系列-第一天-基本语法基础常识人机交互方式常用的DOS命令什么是计算机语言(编程语言) Java语言简介Java程序运行机制Java虚拟机(Java Virtual Machine)垃圾收集机制(Garbage Collection) Java语言的特点面向对象健壮性跨平台性 编写第一个Java程序什么是JDK, JRE下载及安装 JDK配置环境变量 pathHe

Hibernate框架中,使用JDBC语法

/*** 调用存储过程* * @param PRONAME* @return*/public CallableStatement citePro(final String PRONAME){Session session = getCurrentSession();CallableStatement pro = session.doReturningWork(new ReturningWork<C

ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理

陈科肇 示例: 包规范 CREATE OR REPLACE PACKAGE PACK_WMS_YX IS-- Author : CKZ-- Created : 2015/8/28 9:52:29-- Purpose : 同步数据-- Public type declarations,游标 退休订单TYPE retCursor IS REF CURSOR;-- RETURN vi_co_co

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

react笔记 8-16 JSX语法 定义数据 数据绑定

1、jsx语法 和vue一样  只能有一个根标签 一行代码写法 return <div>hello world</div> 多行代码返回必须加括号 return (<div><div>hello world</div><div>aaaaaaa</div></div>) 2、定义数据 数据绑定 constructor(){super()this.state={na

python基础语法十一-赋值、浅拷贝、深拷贝

书接上回: python基础语法一-基本数据类型 python基础语法二-多维数据类型 python基础语法三-类 python基础语法四-数据可视化 python基础语法五-函数 python基础语法六-正则匹配 python基础语法七-openpyxl操作Excel python基础语法八-异常 python基础语法九-多进程和多线程 python基础语法十-文件和目录操作

iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)

摘要 剪贴板同步能够提高很多的效率,免去复制、发送、复制、粘贴的步骤,只需要在手机上复制,就可以直接在电脑上 ctrl+v 粘贴,这方面在 Apple 设备中是做的非常好的,Apple 设备之间的剪贴板同步功能(Universal Clipboard)确实非常方便,它可以在 iPhone、iPad 和 Mac 之间无缝传输剪贴板内容,从而大大提高工作效率。 但是,iPhone 如何和 Wind