IOS 分类中怎么样使用原类中对实例变量

iOS 码拜 9年前 (2015-10-18) 1117次浏览
看object-c程序设计这本书,讲到分类这一章。

在创建分类后,定义类一个方法。在实现文件.m中方法的书写如下。

-(fraction *) add:(fraction *) f

{

        fraction result =[ [fraction alloc] init];

        result.numeration = numeration * f.numeration + denomination*f.denomination;

        result.denomiation = denomination * f.denomiation;

        return result;

}

xcode就在numeration这个地方报错?

解决方案:40分
-(fraction *) add:(fraction *) f

{

        fraction result =[ [fraction alloc] init];

        result.numeration = numeration * f.numeration + denomination*f.denomination;

        result.denomiation = denomination * f.denomiation;

        return result;

}

本人是这样看这段代码的,

1.-(fraction *)add:(fraction *)f 这里你返回的将会是一个对象,在add那里你传进去的也将会是一个fraction对象f   
2.fraction result =[ [fraction  alloc]init]这里alooc后放回的是一个fraction对象,是对象那么就需要用*result指针来接受,因此你这里的result不知道是你写的有问题还是本人没看懂,
3.result.numeration这个numeration是不是public?或是不是实现了set跟get方法?
4.numeration这里应该是fraction里面的成员变量,但是在你这个里面numeration一旦初始化出来其值是为0的,而且在成员变量中numeration是要加下划线的否则set跟get方法没有用的,你检查下是不是下划线问题;
5.return result,一般而言result应该是做为成员变量或是变量的,但这里是将result做对象返回了,不建议这么写;
6.没有完整的代码不好找问题。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明IOS 分类中怎么样使用原类中对实例变量
喜欢 (0)
[1034331897@qq.com]
分享 (0)