我正在尝试将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
答案 0 :(得分:2)
你不能只是施放物体。您需要拨打已创建的assignSeriesDictionaryData:
。
// inside random method
GetSeriesDictionary *getSeriesObj = [[GetSeriesSeriesDictionary alloc] init];
[getSeriesObj assignSeriesDictionaryData:series];
NSLog(@"%i", getSeriesObj.seriesID);
//..
另外,正如您可能已经注意到的那样,我没有NSObjectClass。该映射更适合GetSeriesDictionary本身(您可以创建一个自定义init来执行该操作)。