Классы в Какао (самая популярная библиотека Objective-C, они почти синонимичны) имеют тенденцию наследоваться от NSObject
, корневого класса Какао. Это задокументировано здесь .
Существует также протокол NSObject
, реализованный NSProxy
. Он составляет основу поддержки Какао для Распределенных объектов . Тем не менее, мы можем опередить себя с этим!
Я также заметил, что вы пытаетесь сделать следующее:
Fraction *myFraction;
myFraction = [Fraction alloc];
myFraction = [Fraction init];
Вы выделяете память для своего объекта, а затем теряете его, перезаписывая указатель другим. Стандартная практика заключается в том, чтобы сделать это в одну строку следующим образом:
Fraction *myFraction = [[Fraction alloc] init];
Если вы должны сделать это в несколько строк, вы должны сделать следующее:
Fraction *myFraction;
myFraction = [Fraction alloc];
myFraction = [myFraction init];
// myFraction is now ready to go!
Я наткнулся на сайт , который ссылается на то, что кажется книгой, которую вы читаете. Примеры, выделенные на сайте, наследуются от NSObject
и импортируются <Foundation/NSObject.h>
. Есть ли какая-то особая причина, по которой вы отказались от этого и выбрали класс Object
, предоставляемый средой выполнения?