如何从SAP系统重新导入Xcode中的模型



我想在我的表中添加一列。此列已添加到作为 SAP 系统的后端数据库中。我还可以看到首次连接到 SAP 系统时,该值正在提取中填充。成功登录后,它运行材料提取功能模块并返回一个列"价格",我需要将其添加到 xcode 中的应用程序中。

请帮助我。

错误:"终止于NSException类型的未捕获异常"由于未捕获的异常"NSInvalidArgumentException"而终止应用程序,原因:"* setObjectForKey:对象不能为零(键:itemPrice)" 第一个抛出调用堆栈:

    if(!found){
            NSMutableDictionary *mDic = [[NSMutableDictionary alloc] init];
            [mDic setObject:[dic valueForKey:@"itemId"] forKey:@"itemId"];
            [mDic setObject:[dic valueForKey:@"itemR"] forKey:@"itemR"];
            [mDic setObject:[dic valueForKey:@"itemQty"] forKey:@"itemQty"];
            [mDic setObject:[dic valueForKey:@"itemDesc"] forKey:@"itemDesc"];
            [mDic setObject:[dic valueForKey:@"itemPack"] forKey:@"itemPack"];
            [mDic setObject:[dic valueForKey:@"itemUOM"] forKey:@"itemUOM"];
            [mDic setObject:[dic valueForKey:@"itemNACS"] forKey:@"itemNACS"];
            [mDic setObject:[dic valueForKey:@"itemPrice"] forKey:@"itemPrice"];  // This is where the error is occuring.
            int qty = [[dic valueForKey:@"itemQty"] intValue];
           // float price = [[dic valueForKey:@"itemPrice"] floatValue];
           // price = price * qty;
           // [mDic setObject:[NSString stringWithFormat:@"%.2f", price]  forKey:@"itemPrice"];
            mQty = qty;
            [mDic setObject:[dic valueForKey:@"itemLastSold"] forKey:@"itemLastSold"];
            [items addObject:mDic];
            [mDic release];
        }
Its actually not being retrieved from dic dictionary variable.
This is the code for adding that itemPrice to the table
 int mQty;
    //DELETE AND RE-ADD
    for (int i=0; i<[items count]; i++) {
        if([[dic valueForKey:@"itemId"] isEqualToString:[[items objectAtIndex:i] valueForKey:@"itemId"]]){
            NSLog(@"qty %@",[dic valueForKey:@"itemQty"]);
            int qty = [[dic valueForKey:@"itemQty"] intValue];
            qty = qty + [[[items objectAtIndex:i] valueForKey:@"itemQty"] intValue];
            NSDictionary *d =  [items objectAtIndex:i];
            NSLog([d description]);
            [[items objectAtIndex:i] setValue:[NSString stringWithFormat:@"%d", qty] forKey:@"itemQty"];
found = YES;
[items removeObjectAtIndex:i];
 NSMutableDictionary *mDic = [[NSMutableDictionary alloc] init];
            [mDic setObject:[dic valueForKey:@"itemId"] forKey:@"itemId"];
            [mDic setObject:[dic valueForKey:@"itemR"] forKey:@"itemR"];
            [mDic setObject:[NSString stringWithFormat:@"%d", qty] forKey:@"itemQty"];
            [mDic setObject:[dic valueForKey:@"itemDesc"] forKey:@"itemDesc"];
            [mDic setObject:[dic valueForKey:@"itemPack"] forKey:@"itemPack"];
            [mDic setObject:[dic valueForKey:@"itemUOM"] forKey:@"itemUOM"];
            [mDic setObject:[dic valueForKey:@"itemNACS"] forKey:@"itemNACS"];
            [mDic setObject:[dic valueForKey:@"itemPrice"] forKey:@"itemPrice"];  //added price column
 mQty = qty;
            [mDic setObject:[dic valueForKey:@"itemLastSold"] forKey:@"itemLastSold"];
//            [items insertObject:mDic atIndex:0];
            [items addObject:mDic];
            [mDic release];
            break;
}

你不能把 nil 放到 NSMutableDictionary 中。如果 dic 可能没有此键,则需要执行以下操作来防止崩溃:

if ([dic valueForKey:@"itemPrice"] != nil) {
    [mDic setObject:[dic valueForKey:@"itemPrice"] forKey:@"itemPrice"];
}

或者,您需要调查为什么 dic 不包含 itemPrice 键。

最新更新