object-c 日志

printfNSlog区别

NSLog会自动加上换行符,不需要自己添加换行符,NSLog会加上时间和进程信息,而printf仅将输入的内容输出不会添加任何额外的东西。两者的输入类型也是有区别的NSLog期待NSString*,而printf期待const char *。最本质的区别在于NSLog输出的日志,在debug下面,NSLog的输出会被写到system.log,而printf是不具备日志属性的。

NSLog的定义

  NSLog定义在NSObjCRuntime.h中,如下所示:

  void NSLog(NSString *format, …);

  基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针。

NSLog可以如下面的方法使用:

  NSLog (@"this is a test");

  NSLog (@"string is :%@", string);

  NSLog (@"x=%d, y=%d", 10, 20);

  但是下面的写法是不行的:

  int i = 12345;

  NSLog( @"%@", i );

  原因是, %@需要显示对象,而int i明显不是一个对象,要想正确显示,要写成:

  int i = 12345;

  NSLog( @"%d", i );

NSLog的格式如下所示:

  %@ 对象

%d, %i 整数%u 无符整形%f 浮点/双字%x, %X 二进制整数%o 八进制整数%zu size_t%p 指针%e 浮点/双字 (科学计算)%g 浮点/双字 %s C 字符串%.*s Pascal字符串%c 字符%C unichar%lld 64位长整数(long long)%llu 无符64位长整数%Lf 64位双字

声明以常见的先行短线和位于圆括号中的返回类型开头:

-(void)

参数类型在圆括号中指定,:号是方法名称最重要的组成部分。

如果方法使用参数就需要冒号,否则不需。

就Objective-C语言而言,创建一个类非常简单。它非常典型的分成了两个部分。

  类的接口通常保存在ClassName.h文件里,它定义了实例的参数,以及一些公开的方法。

  类的实现在ClassName.m文件里。它包含了真正运行的代码和那些方法。它还经常定义一些私有的方法。这些私有的方法对于子类是不可见的。

  这里有一个接口文件的大概。类名Photo,所以文件名叫Photo.h:

#div_code img { border: 0px none; }

  #import

  @interface Photo : NSObject {

  NSString* caption;

  NSString* photographer;

  }

  @end

 

  首先,我们把Cocoa.h import进来。Cocoa的应用程序的所有的基本的类大多都是这样做的。#import宏指令会自动的避免把同一个文件包含多次。

  @interface符号表明这是Photo类的声明。冒号指定了父类。上面这个例子父类就是NSObject。

  在大括弧里面,有两个变量:caption和photographer。两个都是NSString类型的。当然了,他们也可以是任何别的类型包括id类型的。

  最后@end结束整个声明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机真正管理的文件名是什么,计算机题,请大家多多帮忙,谢谢

4、在资源管理器中,若想显示文件名、文件大小和文件类型,应采用什么显示方式。( )A、小图标显示 B、列表显示 C、详细资料显示 D、缩略图显示5、在EXCEL中,可以依据不同要求来提取和汇总数据,4、在资源管理器中,若想显…

小a的排列

链接:https://ac.nowcoder.com/acm/contest/317/G来源:牛客网小a有一个长度为nn的排列。定义一段区间是"萌"的,当且仅当把区间中各个数排序后相邻元素的差为11 现在他想知道包含数x,yx,y的长度最小的"萌"区间的左右端点 …

Xcode做简易计算器

1.创建一个新项目,选择“View-based Application”。输入名字“Cal”,这时会有如下界面。 2.选择Resources->CalViewController.xib并双击,便打开了资源编辑对话框。 3.我们会看到几个窗口。其中有一个上面写着Library,这里…

计算机 编程 教程 pdf,计算机专业教程-第3章编程接口介绍.pdf

下载第3章 编程接口介绍• DB2 UDB应用程序概述• 嵌入S Q L编程• CLI/ODBC应用程序• JAVA应用程序• DAO 、R D O 、A D O应用程序本章将介绍对DB2 UDB 可用的编程方法及其特色,其中一些方法附有简单的例子,在这些例子中,有些并不是只适用…

导入数据库怎么导入_导入必要的库

导入数据库怎么导入重点 (Top highlight)With the increasing popularity of machine learning, many traders are looking for ways in which they can “teach” a computer to trade for them. This process is called algorithmic trading (sometimes called algo-trading)…

windows查看系统版本号

windows查看系统版本号 winR,输入cmd,确定,打开命令窗口,输入msinfo32,注意要在英文状态下输入,回车。然后在弹出的窗口中就可以看到系统的具体版本号了。 winR,输入cmd,确定,打开命令窗口&…

02:Kubernetes集群部署——平台环境规划

1、官方提供的三种部署方式: minikube: Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,仅用于尝试Kubernetes或日常开发的用户使用。部署地址:https://kubernetes.io/docs/setup/minikube/kubeadm Kubea…

更便捷的画决策分支图的工具_做出更好决策的3个要素

更便捷的画决策分支图的工具Have you ever wondered:您是否曾经想过: How did Google dominate 92.1% of the search engine market share? Google如何占领搜索引擎92.1%的市场份额? How did Facebook achieve 74.1% of social media marke…

供来宾访问计算机打开安全吗,计算机安全设置操作手册(22页)-原创力文档

计算机安全设置操作手册ISO27001项目实施电脑配置(以XP为例)账户设置user每台电脑设置administrator和user帐户;管理员账户密码至少 8位, 账户至少6位user将Administrator和user账户以外的其他账户禁用用具体步骤如下:、右击【我的电脑】选择【管理】如图…

Windows半透明窗口开发技巧

Windows半透明窗口开发技巧 www.visual-gear.com 原创技术文章 在windows平台上从窗口绘图有两种方法: 第一种响应窗口的WM_PAINT消息,使用窗口DC进行绘制 第二种是将窗口样式设置为层窗口,即 WS_EX_LAYERED设置为该样式之后窗口将不会产生任…

标识为普通SQL语法

在SQL语句的最前面增加 /*dialect*/转载于:https://www.cnblogs.com/zouhuaxin/p/10333209.html

的界面跳转

在界面的跳转有两种方法,一种方法是先删除原来的界面,然后在插入新的界面:如下代码 if (self.rootViewController.view.superview nil) { [singleDollController.view removeFromSuperview]; [self.view insertSubview:rootViewControlle…

计算性能提升100倍,Uber推出机器学习可视化调试工具

为了让模型迭代过程更加可操作,并能够提供更多的信息,Uber 开发了一个用于机器学习性能诊断和模型调试的可视化工具——Manifold。机器学习在 Uber 平台上得到了广泛的应用,以支持智能决策制定和特征预测(如 ETA 预测 及 欺诈检测…

计算机应用基础成教作业,(计算机应用基础成教08A卷1.doc

一、判断题(每空1分,共10分,正确填A错误填B)1、计算机按照用途划分可以分为数字计算机、模拟计算机、数字模拟混合式计算机。()2、微型计算机就是指体积微小的计算机。()3、WindowsXP的窗口是不可改变大小的。( )4、操作系统是用户和计算机之间的接口。…

iPhone程序运行流程浅谈

1. 和大多数语言一样,每一个iPhone应用也都是从主函数开始运行,它的main函数都在XCode的Other Reasource逻辑目录下。 [cpp] view plaincopyprint?UIApplicationMain(argc, argv, nil, nil); [cpp] view plaincopyprint?UIApplicationMain(argc, arg…

Trie树kmpAC自动机后缀数组Manacher

Trie 计数Trie,读清题意很重要 https://vjudge.net/problem/UVALive-5913 kmp AC自动机 模板:https://vjudge.net/problem/UVA-11488 https://vjudge.net/problem/UVA-11019 https://vjudge.net/problem/UVA-11468 https://vjudge.net/problem/UVALive-4…

矩阵线性相关则矩阵行列式_搜索线性时间中的排序矩阵

矩阵线性相关则矩阵行列式声明 (Statement) We have to search for a value x in a sorted matrix M. If x exists, then return its coordinates (i, j), else return (-1, -1).我们必须在排序的矩阵M中搜索值x 。 如果x存在,则返回其坐标(i,j) &#x…

计算机英文版个人简历发文,计算机个人简历英文_英文简历.doc

计算机个人简历英文_英文简历I have the honor to present a brief introduction of myself to you in compliance with the requirements of your graduate admissionI was born in November 7th, 1966, at the town of Changing, Beijing. My parents are doing business and…

一地鸡毛 OR 绝地反击,2019年区块链发展指南

如果盘点2018年IT技术领域谁是“爆款流量”,那一定有个席位是属于区块链的,不仅经历了巨头、小白纷纷入场的光辉岁月,也经历了加密货币暴跌,争先退场的一地鸡毛。而当时间行进到2019年,区块链又将如何发展呢? 近日,全球知名创投研究机构CBInsight发布了《What’s Next …

iphone UITableView及UIWebView的使用

1。新建一个基于Navigation-based Application的工程。 2。修改原来的RootViewController.h,RootViewController.m,RootViewController.xib为MyTableViewController.h,MyTableViewController.m,MyTableViewController.xib。 3。点击MainVindow.xib,将R…