麻烦老师用文字加代码的形式讲解一下

麻烦老师用文字加代码的形式讲解一下

#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *person = [[Person alloc]init];
        NSLog(@"",person.name);
    }
    return 0;
}

#import <Foundation/Foundation.h>

@interface Person : NSObject
@property(nonatomic,assign)String name;

@end

#import "Person.h"

@implementation Person
-(id)init{
    self = [super init];
    if(self){
        self.name = "慕星人";
    }
    return self;
}

@end


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

三个问题,你的java语法已经深入人心了,哈哈,得记住这是OC哦。

1、@property(nonatomic,assign)String name;里面首先OC中的字符串类是NSString而不是String,还有name前面需要加指针符号*,同时针对字符串,里面应该是strong来修饰,而不是assign。所以应该修改成@property(nonatomic,strong)NSString *name;

2、self.name = "慕星人";这句话赋值的时候,因为是字符串所以要加@符号,所以应该是self.name = @"慕星人";

3、 NSLog(@"",person.name);最后输出的时候,冒号中间应该加%@啊,应该是NSLog(@"%@",person.name);

  • 打不死的女小强 提问者 #1
    非常感谢!我懂了,有时java和oc我会傻傻分不清
    2017-12-07 12:05:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师