Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSString won';在目标C中不起作用_Objective C - Fatal编程技术网

Objective c NSString won';在目标C中不起作用

Objective c NSString won';在目标C中不起作用,objective-c,Objective C,实际上,我从今天开始学习目标C。我有一个很小的程序,可以打印我的名字和年龄。我得到了要打印的年龄,但没有名字。它不会将名称打印为字符串,而是打印一个数字。代码如下: #import <Foundation/Foundation.h> @interface Person : NSObject { NSString *name; int age; } -(void) setAge:(int)a; -(void) setName:(NSString*) n; -(

实际上,我从今天开始学习目标C。我有一个很小的程序,可以打印我的名字和年龄。我得到了要打印的年龄,但没有名字。它不会将名称打印为字符串,而是打印一个数字。代码如下:

#import <Foundation/Foundation.h>

@interface Person : NSObject {

    NSString *name;
    int age;

}

-(void) setAge:(int)a;
-(void) setName:(NSString*) n;

-(int)age;
-(NSString*) name;

-(void) print;

@end

@implementation Person

-(void)setAge:(int) a{
    age = a;
}

-(void)setName:(NSString*) n{
    [n retain];
    [name release];
    name = n;
}

-(int)age{
    return age;
}

-(NSString*) name{
    return name;
}

-(void) print{
    NSLog(@"I'm %i, i'm %i years old", name, age);
}

@end

int main (int argc, char *argv[]){
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]init];

    Person *p = [[Person alloc]init];

    [p setAge: 26];
    [p setName: @"Johnny"];
    [p print];

    [pool drain];
    return 0;
}
#导入
@接口人:NSObject{
NSString*名称;
智力年龄;
}
-(无效)设置:(int)a;
-(void)setName:(NSString*)n;
-(int)年龄;
-(NSString*)名称;
-(作废)打印;
@结束
@执行人
-(无效)设置:(int)a{
年龄=a;
}
-(void)集合名:(NSString*)n{
[n保留];
[姓名发布];
name=n;
}
-(int)年龄{
回归年龄;
}
-(NSString*)名称{
返回名称;
}
-(作废)打印{
NSLog(@“我是%I,我是%I岁”,姓名,年龄);
}
@结束
int main(int argc,char*argv[]){
NSAutoreleasePool*池=[[NSAutoreleasePool alloc]init];
Person*p=[[Person alloc]init];
[p设定值:26];
[p setName:@“Johnny”];
[p打印];
[泳池排水沟];
返回0;
}
从这张照片上我得到了这张照片:我4176岁,我26岁。 为什么我要买4176? 我不明白:(


提前感谢

通过使用格式字符串
%i
您告诉
NSLog
您想要打印一个整数,它正在打印字符串内存中的地址(即指针
名称的值
)。使用
%@
,更改格式字符串,告诉它您要打印
名称
指向的对象的字符串表示形式:

NSLog(@"I'm %@, i'm %i years old", name, age);

通过使用格式字符串
%i
您告诉
NSLog
您想要打印一个整数,它正在打印字符串内存中的地址(即指针
名称的值
)。使用
%@
,更改格式字符串,告诉它您要打印
名称
指向的对象的字符串表示形式:

NSLog(@"I'm %@, i'm %i years old", name, age);

你怎么打印的?我打赌你打印得不对。试着像这样在日志中打印

   NSLog(@"I'm %@, i'm %d years old", name, age);

如果有人有同样的问题,她就在桌子上

你怎么打印它?我打赌你打印得不对。试着像这样在日志中打印它

   NSLog(@"I'm %@, i'm %d years old", name, age);

如果有人遇到同样的问题,我怎么会错过呢?%i%d%f%@打印int,double,float,string值。我猜是新手犯的错误。谢谢你,我怎么会错过呢?%i%d%f%@打印int,double,float,string值。我猜是新手犯的错误。谢谢你,也许你的父母真的很喜欢数字s、 …也许你父母真的很喜欢数字。。。