我不知道爲什麼這不起作用,我搜索了它並沒有發現任何東西。我是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;
}
}
好了,所以我就縮進它,所以它會被格式化,以粘貼在這裏,當我把它放回它的工作原理...有誰知道發生了什麼事?
+1爲了建立在這個正確的答案上,第二個代碼示例沒有停止運行的原因是多餘的空函數落在行上,斷點將'setX:'從斷點移開。所以程序執行永遠不會使它與斷點一致。 – NJones 2012-03-18 04:23:08
是的,這樣做更有意義,謝謝你的迴應。 – GnarGnar 2012-03-18 05:04:27