问题标签 [nslog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8998 浏览

objective-c - NSLog 没有换行

是否有任何功能可以完成 NSLog 的功能,但最后没有新行?

0 投票
1 回答
126 浏览

objective-c - 当用户按下按钮或做某事时如何发送 NSLogs

我正在为某人制作应用程序,并且有些事情我想监控。我为每个操作都设置了 NSLog,但我希望能够将它们发送到控制台或其他东西。反正有这样做吗?此外,我不希望用户知道这件事,我正在监视这一点,因为我为用户提供了他必须管理的帐户的密码,并且我想看看他正在做什么以确保他没有违反任何规则。

0 投票
1 回答
473 浏览

iphone - NSString 和 UITouch……这到底是怎么回事?

我对 NSString 有一个错误。在我的一个 .m 文件中,我有一个名为“conversions”的成员,类型为 NSString,并且在该类的方法中,该字符串被操作并添加到等等。好吧,当我尝试以不同的方法记录该字符串时后来被调用,由于某种原因,字符串作为 UITouch 对象打印。具体来说,我尝试按如下方式记录字符串

在我的控制台中打印

为什么我的 NSString 变成了看起来像 UITouch 的对象?到底是怎么回事?

0 投票
4 回答
3145 浏览

objective-c - NSLog 实际上是做什么的?

我有一个奇怪的问题。我在我的应用程序中使用来自 Apple 私有框架的方法。当我第一次调用它时,它起作用了。当我立即第二次调用它而没有任何中间内容时,它崩溃了。但是,如果我将 NSLog 放在两个调用之间,效果会非常好。所以我尝试删除 NSLog 并在它们之间放置 for-loops、sleep()、printf("...") 和 fprintf(stderr, "...") 以模拟 NSLog,但这没有帮助。我想知道该方法是如何知道我使用 NSLog 的?换句话说,NSLog 实际上做了什么来影响方法的行为?

非常感谢!

编辑:

我似乎解决了这个问题。我将在这里分享我的解决方案,希望它对某些人有用。

我正在使用 MultitouchSupport.framework 创建一个与多点触控相关的应用程序。我从http://aladino.dmi.unict.it/?a=multitouch复制了代码,并CFRelease在循环末尾添加了一个。所以,基本上,我的主要方法是这样的:

运行一段时间后,会显示“程序接收信号:“EXC_BAD_ACCESS”。这是堆栈跟踪:

但是,如果我将 NSLog 放在 MTDeviceStart 下面,它不会崩溃。

我添加CFRelease((CFMutableArrayRef)deviceList)到原始代码中的原因是我认为从名为 *Create* 或 *Copy* 的函数创建的对象应该由我们自己释放。但事实证明,如果我像原始代码一样删除它,即使不使用 NSLog,它也不会崩溃。

所以,也许是因为我发布deviceList得太早了?但如果是这样,为什么 NSLog 似乎能够防止崩溃呢?

0 投票
2 回答
1209 浏览

iphone - iPhone Dev:如何获取字符串格式属性,如 NSLog

我试图包装 NSLog 函数只是为了在每次记录某些内容时添加一些信息,但是我遇到了问题。

NSLog 声明是

这允许在调用中有多个参数

我的声明功能类似

并且实施只是

所以我可以称之为

但在这种情况下,不会评估属性。

所以,我想我必须在我的实现中做一些事情来用参数格式化 str 但是如何呢?

提前谢谢

0 投票
4 回答
472 浏览

objective-c - sprintf 根据 printf 和 NSLog 调用的内容自发失败

你好我有一个奇怪的问题sprintf。这是我的代码:

通过printf那里的呼叫,成功打印数字并按预期绘制数字。当我把它们拿走时,我当然无法查看输出并进行比较,但是数字没有正确呈现。我假设sprintf以某种方式中断。

这也发生在NSLog. 在程序的任何地方添加NSLog' 都可以破坏或修复该功能。

到底是怎么回事?

这是在 iOS 4 SDK 中使用 Objective-C。

谢谢你的任何回答。

0 投票
1 回答
997 浏览

cocoa - 如何使用有条件编译的 NSLog 替换来避免“未使用的变量”编译器警告?

这来自我对NSLog(). 的一个关键特性BetterLog()是,NSLog()对于发布和分发构建,替换编译为空。建议的解决方案(例如,请参阅是否真的不应该在生产代码上使用 NSLog()?)是定义一个预处理器符号来控制BetterLog()取决于构建类型的定义。通常:

whereDEBUG_MODE将被定义为仅用于调试构建的预处理器符号。

但是,在许多情况下,即使用中间变量构建日志记录语句时,结果是未使用变量的编译器警告。这是一个例子:

这里所有三个字符串都会产生编译器警告。我讨厌编译器警告。

当然,如果不以某种方式有条件地包含变量声明本身,就不可能避免。我做了以下尝试,但没有奏效:

我不是简单地只DEBUG_MODE在调试模式下定义,而是一直定义它,调试模式下的值为 1,发布模式下的值为 0。

然后我尝试利用编译器死代码剥离优化:

代码没问题:它在发布模式下被正确剥离。然而编译器仍然会发出未使用的变量警告。

所以问题是:有没有可能比丑陋的做得更好:

0 投票
2 回答
21126 浏览

objective-c - 如何使用 NSLog 显示十六进制字节

如何使用NSLog显示以下字节?

0 投票
1 回答
391 浏览

objective-c - 如何使用宏将变量传递给函数(目标 c)

有谁知道如何动态获取传递给函数的所有变量值以进行日志记录?

我正在寻找一种简单的方法(例如使用编译器宏)来记录函数以及传递给它的变量值(然后将其写入日志文件,以便我们可以轻松找到导致函数的输入碰撞)

我一直在努力

,它给出了一切,但变量值

0 投票
2 回答
120 浏览

objective-c - ObC:如何将内存指针转换为 dataP

我有一个 RowOfPlayerData 类型的自定义数据容器对象。当我尝试在 NSLog 中显示一个 RowOfPlayerData 对象时,系统不知道如何显示它,所以它只显示对象的地址。

我试图弄清楚如何在 NSLog 语句中显示该地址的内容,以便我可以使用数据。

我正在尝试在有关 NSPredicate 的教程上构建它:http: //doronkatz.com/how-to-do-amazingly-simple-searches-with-nsar

我试图对输出进行某种描述,但没有成功。

我试图弄清楚如何做到这一点,以便我可以访问数据。这是我使用的测试代码和我目前拥有的一些输出。顺便说一句,我对此很陌生。

如果有人能帮助我以正确的格式显示来自 playerArray 的数据,我将不胜感激,因为我只是不明白。

[代码]

这是 .m 文件:

输出:

addPlayerData2Array 开始<<

2010-09-25 13:39:51.313 x1[3675:207] <#1> row.playerName: Player1

2010-09-25 13:39:51.314 x1[3675:207] <#2> row.curGameType: NORMAL1

2010-09-25 13:39:51.314 x1[3675:207] <#3> playerArray:

[/代码]