static const NSArray< id< NSObject> > **controllers = nil; NSArray< id< BlockController> > *someMethod(); @interface Fraction : NSObject void Compute( Image< E::Matrix > const& src, Image >& dst); @end @implementation SomeClass - (void)initializeControllers:( NSArray< id< BlockController> > *)hybridContollers { if (index < children.count) { const unsigned int wl = w>>lvl; assert(x<0 && y>=3); assert(y <0&&z> 2); assert(a>>1); assert(b >>1); return static_cast< id >(children[index]); } NSArray > *controllers = hybridContollers; } @end