2010-02-06 6 views
1

У меня есть MainController, он создает объект (например, полигон), контроллер (скажем, polygonViewController). PolygonViewController имеет два выхода:синхронизировать один объект между двумя контроллерами в Cocoa

IBOutlet Polygon* aPolygon; 
IBOutlet UILabel* numOfSidesLabel; 

он опосредует Polygon и PolygonViewController.xib файл.

Как убедиться, что aPolygon PolygonViewController тот же (экземпляр) как многоугольник, созданный в mainController?

Я пытался добавить @property Polygon* aPolygon; к PolygonViewController затем в MainController я polygonViewController.aPolygon = polygon; Однако aPolygon в методе PolygonViewController awakeFromNib всегда нуль.

+0

Некоторые части кода поможет здесь .... Почему вы объявляя выход IB для aPolygon, когда вы назначаете ему объект mainController полигональный? Таким образом, я не вижу механизма, чтобы два объекта Polygon, объявленные в двух разных XIB-файлах, были одним и тем же объектом. –

+0

Hi Deepak: Спасибо за помощь. Объект Polygon в MainController не имеет префикса с IBOutlet, поэтому он не находится в файле XIB. В общем, каков подход, если я хочу назначить свой класс контроллера объекту, созданному в другом классе? –

ответ

1

Вы пытались использовать одноэлементный объект?

Вы можете сделать ваш класс aPolygon единым объектом, так что вы всегда будете работать с одним и тем же объектом столько же, сколько вы хотите использовать.

Взгляните: http://developer.apple.com/Mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/TP40002974-CH4-SW32

Надеется, что это поможет вам!

Приветствия,
VFN

+0

hi vfn: Это может быть возможным решением. Я бы от него пошла. ура –