小编Stu*_*Stu的帖子

Objective-C:调用具有多个参数的选择器

在MyClass.m中,我定义了

- (void) myTest: (NSString *) withAString{
    NSLog(@"hi, %@", withAString);
}
Run Code Online (Sandbox Code Playgroud)

和MyClass.h中的适当声明.后来我打电话来

[self performSelector:@selector(mytest:withAString:) withObject: mystring];
Run Code Online (Sandbox Code Playgroud)

在MyClass.m但我得到一个类似于*终止应用程序的错误, 因为未捕获的异常'NSInvalidArgumentException',原因:'* - [MyClass myTest:withAtring:]:无法识别的选择器发送到实例0xe421f0'

我尝试了一个更简单的情况,一个选择器没有参数,打印一个字符串到控制台,并且工作得很好.代码有什么问题,我该如何解决?谢谢.

objective-c selector

139
推荐指数
4
解决办法
21万
查看次数

#define DEBUG 1

我正在尝试调试模式,如果

#define DEBUG 1
Run Code Online (Sandbox Code Playgroud)

我想printf一些变量值和if

#define DEBUG 0
Run Code Online (Sandbox Code Playgroud)

我想要他们.

问题是我有很多实现文件,我希望这个DEBUG变量可用于整个项目.现在我需要在foo1.c,foo2.c,foo3.c中编辑DEBUG变量,这似乎很乏味且容易出错,而且必须有更好的方法.有什么建议?

c debugging

27
推荐指数
4
解决办法
7万
查看次数

在Xcode中观察变量

我正在尝试使用Xcode观察变量.我按照这里的说明暂停,选择Run> Variables View> ....但是除了"Enable Data Formatters"之外,其余的选项都是灰色的.有任何想法吗?

我正在使用Xcode 3.1.3版.

xcode objective-c

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

在XCode文档窗口中增加字体大小

我在这方面遇到了一些问题,但下面列出了一种方法.

xcode

10
推荐指数
4
解决办法
2365
查看次数

可以避免因为一种方法而包含整个标准头文件?

我想称之为"C"功能

fabs(double);
Run Code Online (Sandbox Code Playgroud)

在我的程序中无数次,但我不想包括整个头文件.这可能吗?

c

4
推荐指数
2
解决办法
228
查看次数

Objective-C:协议

我想要一个实例变量对象来采用协议.

@interface GameScene : Scene <AVAudioPlayerDelegate> {
@private
    Layer *content <CocosNodeOpacity>;
}
Run Code Online (Sandbox Code Playgroud)

例如,我希望我的Layer对象采用,<CocosNodeOpacity>以便我可以获取方法

-(GLubyte) opacity;    //and
-(void) setOpacity: (GLubyte) opacity;
Run Code Online (Sandbox Code Playgroud)

免费.上面显示的语法无效.是否可以在不创建新实现文件和创建自定义对象的情况下实现此目的?谢谢.

protocols objective-c

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

如果和平等声明

我试图在这里解决问题,但我不知道为什么我的代码不起作用.任何帮助表示赞赏.编辑:编辑进行下面提到的修正,但在输出的第二行还有一个额外的"15"(粗体),我不明白它来自哪里.

我的输出是

18662658515 5552272 15

#include <stdlib.h>
#include <stdio.h>

int main(void){
  int n;
  int j;
  scanf("%d\n", &n);
  int i = 0;
  char mystr[15];

  for(;i<n;i++){
    fgets(mystr,15,stdin);

    for(j=0;j<15;j++){
      if(isdigit(mystr[j])){
        printf("%c", mystr[j]);
        continue;
      }
      if ('A' <= mystr[j] && mystr[j] <= 'C')
        printf("2");
      if ('D' <= mystr[j] && mystr[j] <= 'F')
        printf("3");
      if ('G' <= mystr[j] && mystr[j] <= 'I')
        printf("4");
      if ('J' <= mystr[j] && mystr[j] <= 'L')
        printf("5");
      if ('M' <= mystr[j] && mystr[j] <= 'O')
        printf("6"); …
Run Code Online (Sandbox Code Playgroud)

c if-statement equality conditional-statements

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

目标C:对象名称后的括号

什么是括号

[s addChild: [restartAction() node]];"   
Run Code Online (Sandbox Code Playgroud)

或者该功能叫什么?谢谢.

编辑:我认为restartAction()的定义是

Class restartAction()
{
    NSString *r = transitions[sceneIdx];
    Class c = NSClassFromString(r);
    return c;
}
Run Code Online (Sandbox Code Playgroud)

transitions [someint]返回一个字符串.该字符串用于返回对象.我仍然不明白为什么需要括号.我期待括号后面有一个冒号.

objective-c

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