如何初始化NSObject类

时间:2013-04-03 02:04:07

标签: objective-c nsdictionary nsobject

我正在尝试将NSDictionary对象传递给我的NSObject类,以便我可以使用当前viewController中的对象元素,但是我在初始化时遇到了一些问题。

这是我的NSObject类Method标题的样子

NSObjectClass.m

- (GetSeriesDictionary *)assignSeriesDictionaryData:(NSMutableDictionary*)seriesDictionaryData {

    // Initialize values
    seriesID = [[seriesDictionaryData valueForKey:@"SeriesID"] integerValue];

    seriesType = [[seriesDictionaryData valueForKey:@"SeriesType"] integerValue];

//...

然后在视图控制器中我试图像这样使用这个NSObject

ViewController.m

// inside random method
    GetSeriesDictionary *getSeriesObj = [[GetSeriesSeriesDictionary alloc] init];
    getSeriesObj = (GetSeriesSeriesDictionary *)series; // this is where I am having the problem

    NSLog(@"%i", getSeriesObj.seriesID);
//..

但是我正在恢复这个错误

-[__NSDictionaryM seriesID]: unrecognized selector sent to instance 0x1e8de940

所以我想帮助初始化我的NSObject,以便我可以从对象中调用元素,如

getSeriesObj.seriesID

1 个答案:

答案 0 :(得分:2)

你不能只是施放物体。您需要拨打已创建的assignSeriesDictionaryData:

// inside random method
GetSeriesDictionary *getSeriesObj = [[GetSeriesSeriesDictionary alloc] init];
[getSeriesObj assignSeriesDictionaryData:series]; 

NSLog(@"%i", getSeriesObj.seriesID);
//..

另外,正如您可能已经注意到的那样,我没有NSObjectClass。该映射更适合GetSeriesDictionary本身(您可以创建一个自定义init来执行该操作)。