Student * stu = [[Student alloc]init]; //用类方法初始化

baidu_17108091 2014-07-01 11:26:04
各位大神,快教教我这个菜鸟吧
...全文
273 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
virtualxmars 2014-07-08
  • 打赏
  • 举报
回复
普通的init方法都是实例方法,就是必须有一个实例,然后才能调用init。我想你要的是例如下面的东西:

@interface Student : NSObject
+ (id)studentNobody;
@end

@implement Student
+ (id)studentNobody 
{
    return [[Student alloc] init];
}
@end
则原本进行对象构造的代码可以替换为:

Student* stu = [Student studentNobody];
绝世芳华 2014-07-08
  • 打赏
  • 举报
回复
你想问的问题是什么?Student * stu = [[Student alloc]init]; 稍微解说一下吧。Student是继承与根类NSObject的,+(id)alloc方法。就是一个类方法。就是给你的对象分配内存用的。也就是你Student调用的,这个时候返回了一个stu对象,但是没初始化。直到你调用实例方法-(id)init。才给你初始化。类方法以+号开头,也叫静态方法。实例方法以-号开头,每个生成的对象都可以调用
梦一场Monster 2014-07-03
  • 打赏
  • 举报
回复
Student应该是你项目中的一个类名,你应该在另外一个类中要引用这个Student类,引进头文件之后,用这个Student类定义了一个stu,并将初始化,不知道对不对。
hwq992689548 2014-07-02
  • 打赏
  • 举报
回复
没有看明白意思

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧