Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 创建NSObject类的数组_Objective C_Ios_Cocoa Touch_Nsarray - Fatal编程技术网

Objective c 创建NSObject类的数组

Objective c 创建NSObject类的数组,objective-c,ios,cocoa-touch,nsarray,Objective C,Ios,Cocoa Touch,Nsarray,我有一个NSObject类,在该类中我也发送了一个NSDictionary对象,然后该类对象将NSDictionary中的所有条目设置为其本机类型,即NSObject类中的变量 然后我想将这个NSObject类传递到它自己的NSMutableArray中,但是当这种情况发生时,我的应用程序会崩溃 下面是调用NSObject类,然后尝试将其设置为NSMutableArray的代码 NSArray *filteredArray = parsedDataArrayOfDictionaries; //d

我有一个
NSObject
类,在该类中我也发送了一个
NSDictionary
对象,然后该类对象将
NSDictionary
中的所有条目设置为其本机类型,即
NSObject
类中的变量

然后我想将这个
NSObject
类传递到它自己的
NSMutableArray
中,但是当这种情况发生时,我的应用程序会崩溃

下面是调用
NSObject
类,然后尝试将其设置为
NSMutableArray
的代码

NSArray *filteredArray = parsedDataArrayOfDictionaries; //dictionary entries are currently in nsstring format
SearchResultList *searchResultList = [[SearchResultList alloc]init];
NSMutableArray *testArray = [[NSMutableArray alloc] init];

int myCount = 0;

while (myCount <= [filteredArray count]) {
    //call class and pass current NSDictionary in array[myCount]
    [searchResultList assignSearchData:filteredArray[myCount]];
    searchResultList = (SearchResultList*)[testingDic objectForKey:@"myObject"];
    testArray[myCount] = searchResultList; //create array of nsobjectclassed, this is also where the app fails
    NSLog(@"%@", testArray[myCount]);
}
NSArray*filteredArray=parseddataarrayofdictionary//词典条目当前为nsstring格式
SearchResultList*SearchResultList=[[SearchResultList alloc]init];
NSMutableArray*testArray=[[NSMutableArray alloc]init];
int myCount=0;

而(myCount尝试使用
NSMutableArray
addObject。对于
NSMutableArray

您正在超出数组的大小
filteredArray

NSArray *filteredArray = parsedDataArrayOfDictionaries; //dictionary entries are currently in nsstring format
SearchResultList *searchResultList = [[SearchResultList alloc]init];
NSMutableArray *testArray = [[NSMutableArray alloc] init];

int myCount = 0;

while (myCount <= [filteredArray count]) {
    //call class and pass current NSDictionary in array[myCount]
    [searchResultList assignSearchData:filteredArray[myCount]];
    searchResultList = (SearchResultList*)[testingDic objectForKey:@"myObject"];
    testArray[myCount] = searchResultList; //create array of nsobjectclassed, this is also where the app fails
    NSLog(@"%@", testArray[myCount]);
}
while (myCount <= [filteredArray count]) {
甚至是爱好者


你的代码没有意义。seriesSearchResultList从何而来??为什么要创建一个SearchResultList对象并将其分配给SearchResultList,然后稍后覆盖该指针(并泄漏该对象)?在testingDic中应该是什么?opps.SeriesArchResultList是searcResultList..不知道发生了什么。你问题的第二部分的答案是:我有点迷路了..我以为我正在将NSObject类接收到searchResultList中,然后将该对象放入数组..这就是我所想的..but我想不是..我只是有点迷路..我正试图找到一个与我正在做的事情等效的例子,但我找不到。我建议你先学习如何使用Java编程。学习使用Objective-C编程是一个非常糟糕的主意。对于现代Objective-C和Xcode 4.4以上版本的LLVM4编译器来说,情况并非如此。对象文字和下标是supportedhrmmm由于未捕获的异常“NSRangeException”,这导致终止应用程序时出现此问题,原因:'-[\u NSArrayM objectAtIndex:]:索引0超出空数组“*@Abizem”的界限-感谢您让我知道这一点。这将节省大量键入工作。@HurkNburkS确保您不访问超出范围的元素。如果您只添加一项,但尝试访问objectAtIndex:2,则会出现异常。请尝试
[testArray addObject:SeriesArchResultList]
。好的,感谢您的回复,我现在将阅读快速枚举。我试图实现的是获取一个NSMutableArray,其中包含NSDictionary的所有条目都是字符串,并将它们传递给一个NSObject类,该类获取字典中的每个条目,并将NSString转换为其真实类型,然后对中的每个NSDictionary对象执行此操作MutableArray,然后将创建的每个NSObject类和设置的值传递到它们自己的NSMutable数组中,该数组可用于对类中的不同条目进行排序。我希望这是有意义的。这实际上是有效的。但是,我必须将从searchResultList调用的方法返回类型更改为返回self。然后我还在
testArray addobject:obj]之后删除了
[count]
这似乎让事情进展顺利,这是一个很好的解脱。但是我仍然需要做一些测试。以确保没有出现随机错误。感谢您的帮助:)
for (id obj in filteredArray) {
NSMutableArray *testArray = [[NSMutableArray alloc] init];
[filteredArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    //...
    [testArray addObject:obj];
}];