1

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

这就是我的 NSObject 类方法头的样子

NSObjectClass.m

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

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

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

//...

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

视图控制器.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
4

1 回答 1

3

你不能只投射物体。你需要调用assignSeriesDictionaryData:你已经创建的。

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

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

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

于 2013-04-03T02:08:04.860 回答