У меня есть управляемый объект, определенный в одном файле .h:
@interface MyItem : NSManagedObject {
NSString *itemName;
NSInteger itemType;
}
@property (nonatomic, retain) NSString *itemName;
@property NSInteger itemType;
@end
А затем у меня есть uiViewController, для которого определен протокол:
@protocol uiViewControllerDelegate <NSObject>
- (void) controllerIsDone:(MyItem *) myItem;
@end
Обычно где-то в реализации класса uiViewControler я вызываю этот протокол:
NSLog(@"Self item has its properties %@ and %i",
self.myItem.itemName, self.myItem.itemName);
[[self delegate] controllerIsDone:self.myItem];
У меня есть tableViewController, который является делегатом этого uiViewController.
А у меня есть tableViewController
@interface tableViewController : UITableViewController <uiViewControllerDelegate>
Этот tableViewController реализует метод протокола:
- (void) controllerIsDone:(MyItem *) myItem {
NSLog("This is what I received %@ and %i", myItem.itemName, myItem.itemType);
}
Подскажите, пожалуйста, почему в консоли я получаю это:
Self item has its properties SampleName and 1
This is what I received and 0
То есть, хотя я передаю self.item uiViewController в tableViewController, он не обладает всеми своими свойствами. Зачем? Как мне передать весь объект myItem, чтобы я мог использовать его свойства, которые установлены в свойстве myitem uiViewController?