Objective c NSString won';在目标C中不起作用
实际上,我从今天开始学习目标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; -(
#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、 …也许你父母真的很喜欢数字。。。