我不知道为什么这不起作用,我用Google搜索并没有发现任何东西。我是Obj c和xcode的新手。代码工作正常,如果我在 - (void)setX:(int)x之前添加一些东西,但是当它在它自己的时候没有...它构建成功,但我确实得到了这个,“线程1:断点3.1”在实现中的行是setX。
// Program to work with fractions – class version
#import <Foundation/Foundation.h>
//---- @interface section ----
@interface XYPoint: NSObject
-(void) setX: (int) x;
-(void) setY: (int) y;
-(int) getX;
-(int) getY;
@end
//---- @implementation section ----
@implementation XYPoint
{
int xpoint;
int ypoint;
}
-(void) setX: (int) x
{
xpoint = x;
}
-(void) setY: (int) y
{
ypoint = y;
}
-(int) getX
{
return xpoint;
}
-(int) getY
{
return ypoint;
}
@end
//---- program section ----
int main (int argc, char * argv[])
{
@autoreleasepool
{
XYPoint *point = [[XYPoint alloc] init];
[point setX: 4];
[point setY: 3];
NSLog(@"The points are: %i, %i", [point getX], [point getY]);
return 0;
}
}
这不起作用,但确实如此:
// Program to work with fractions – class version
#import <Foundation/Foundation.h>
//---- @interface section ----
@interface XYPoint: NSObject
-(void) setX: (int) x;
-(void) setY: (int) y;
-(int) getX;
-(int) getY;
@end
//---- @implementation section ----
@implementation XYPoint
{
int xpoint;
int ypoint;
}
-(void) crap: (int) thing {}
-(void) setX: (int) x
{
xpoint = x;
}
-(void) setY: (int) y
{
ypoint = y;
}
-(int) getX
{
return xpoint;
}
-(int) getY
{
return ypoint;
}
@end
//---- program section ----
int main (int argc, char * argv[])
{
@autoreleasepool
{
XYPoint *point = [[XYPoint alloc] init];
[point setX: 4];
[point setY: 3];
NSLog(@"The points are: %i, %i", [point getX], [point getY]);
return 0;
}
}
好的,所以我只是缩进它,所以它会被格式化粘贴在这里,当我把它放回去时它有用......有谁知道发生了什么?
答案 0 :(得分:3)
根据您的说明,听起来您设置了断点。执行到达该点时,断点会进入调试器(带有“线程1:断点3.1”之类的消息)。这样您就可以检查变量值,逐步执行代码等。
在Xcode中,断点看起来像一个蓝色标记,箭头指向源代码行的左边缘。尝试将光标放在该行上,然后从菜单中选择“产品/调试/删除当前行的断点”(或按⌘\)。
答案 1 :(得分:1)
执行以下操作:
@interface XYPoint: NSObject
{
int xpoint;
int ypoint;
}
- (void) setX: (int) x;
- (void) setY: (int) y;
- (int) getX;
- (int) getY;
@end
//---- @implementation section ----
@implementation XYPoint
etc...
实例变量在@interface
部分中声明。现在它应该工作。请注意,在Objective-C中,一个不使用getX
和setX:
,而是使用无参数x
和setX:
。 setX:
和x
组合甚至可以像属性一样使用。