小编Ano*_*ser的帖子

如何制作一个可以带字符串的宏?

我正在尝试做一些非常简单的事情:一个接受字符串并将其打印到NSLog的宏.

像这样:

#define PRINTTHIS(text) \
    NSLog(@"text");
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将字符串传递给这个人时,我最终将"文本"打印到控制台.是不是所有变量都替换在宏内的字符串级别?怎么做对了?

macros cocoa cocoa-touch objective-c

19
推荐指数
4
解决办法
1万
查看次数

如何找出谁叫方法?

示例:当我的方法-fooBar被调用时,我希望它在控制台中登录其他类所谓的其他方法.

现在,我只知道如何记录fooBar本身的方法名称及其类,使用:

_cmd

[self class]
Run Code Online (Sandbox Code Playgroud)

这有可能搞清楚吗?

cocoa cocoa-touch objective-c

11
推荐指数
2
解决办法
1万
查看次数

objc_msgSend()是使Objective-C面向对象的重要部分吗?

在阅读文档时,我想知道objc_msgSend()实际上是否是提供使Objective-C"面向对象"的功能的"核心技术".也许有人可以更详细地解释哪些其他部分能够实现Objective-C的面向对象范式?

objective-c

8
推荐指数
1
解决办法
542
查看次数

如何获取NSDecimal或NSDecimalNumber的无格式字符串表示形式?

我有一个NSDecimal,需要它作为技术字符串,即没有任何格式化.浮点应该是"." 如果有的话,减号应该只是一个" - ",如果有的话.除此之外,不应该像分组或中文数字那样进行格式化.

我通过SDK寻找了2个小时,但似乎没有什么简单的事情可以做到这一点.有解决方案吗?

string iphone cocoa cocoa-touch

5
推荐指数
1
解决办法
5082
查看次数

如何用12的幂提高双倍值?

我有一个双倍的是:

double mydouble = 10;
Run Code Online (Sandbox Code Playgroud)

我想10 ^ 12,所以10*10*10*10*10*10*10*10*10*10*10*10.我试过了

double newDouble = pow(10, 12);
Run Code Online (Sandbox Code Playgroud)

它在NSLog中返回我: pow=-1.991886

没有多大意义......我认为战俘不是我的朋友吗?

c math objective-c

5
推荐指数
2
解决办法
9273
查看次数

如何在没有NSObject的Objective-C中创建根对象?

文件说:

虽然不是严格意义上的语言的一部分,但isa指针是对象使用Objective-C运行时系统所必需的.在结构定义的任何字段中,对象需要与struct objc_object(在objc/objc.h中定义)"等效".但是,您很少(如果有的话)需要创建自己的根对象,并且从NSObject或NSProxy继承的对象会自动拥有isa变量.

虽然听起来不错,但我想知道如何在Objective-C中创建根对象?

这是出于学习目的.我只是想知道这一点.我真的很想看到它.

objective-c

5
推荐指数
1
解决办法
1379
查看次数

如何从NSDecimal获取字符串表示没有任何格式?

例如,我有一个NSDecimal myDecimal.让我们说它代表"-1234567.89"之类的东西

如何在没有任何美化/格式化的情况下获得该十进制的干净字符串表示?没有本地化?浮点符号=.只休息0到9之间的数字,最后是 - 如果它是否定的?我需要严格的技术方式.因此,像123456789876554432123456789.2231这样的数字应该看起来不像格式化的"123,456,789,876,554,432,123,456,789.2231".你明白了吗?我不想要任何格式化.我现在正在努力做到这一点,但我发现的一切都与格式化有关.那你们怎么做到的?

iphone macos cocoa cocoa-touch

4
推荐指数
1
解决办法
1881
查看次数

是否有更快的方法来比较两个变量?

我有这段代码,Shark告诉我这是一个性能瓶颈:

CGFloat shortestDistance = (distanceA < distanceB) ? distanceA : distanceB;
Run Code Online (Sandbox Code Playgroud)

所有这些值都是CGFloat.有没有更快的方法来确定哪一个更小并将其分配给shortestDistance?也许甚至通过引用而不是复制值?我该怎么做?以后如何访问?

顺便说一句,这是在非常紧凑的循环中执行的代码.每秒约60次.

iphone performance cocoa-touch

3
推荐指数
2
解决办法
202
查看次数

如何将负旋转值交换为正旋转值?

示例:我有一个圆,它被分成两半。一半从 0 到 -179,99999999999,而另一半从 0 到 179,99999999999。典型示例:CALayer 的transform.rotation.z。它不是从 0 达到 360,而是像这样滑动。

因此,例如,当我想开发一个仪表(理论上)时,我想读取 0 到 360 之间的值,而不是获取 -142 并思考 0-360 范围内的值。

如何正确地进行数学转换?正弦?余弦?有什么有用的吗?

iphone math core-graphics

2
推荐指数
1
解决办法
2964
查看次数

如何找出是否有"." 在NSString?

有一个

NSString *str = @"12345.6789"
Run Code Online (Sandbox Code Playgroud)

并想知道是否有"." 里面的人物.当我试图匹配@"时,我担心会出现丑陋的字符编码问题." 对此?如果有的话,你会如何确保它始终找到匹配?

我只需要知道那里有一个点.其他一切都无关紧要.

macos cocoa objective-c

1
推荐指数
1
解决办法
3296
查看次数