0

我是这个 mac 应用程序开发的新手。

该应用程序对某些数据运行良好,并且应用程序因少数条目而崩溃。

-(void)presentClientsss
{
    [productVendorTextField setStringValue:[NSString stringWithFormat:@"%@", [[popUpVendor selectedItem] title]]];

    NSMenuItem *tempMenuItem = [popUpVendor selectedItem];
    NSString *selectedItemTitle = [tempMenuItem title];

    for (int k = 0; k < [appDelegate.vendorInfoArr count]; k++)
    {
        VendorInfo *tempCustomerInfoModel = [appDelegate.vendorInfoArr objectAtIndex:k];

        if ([tempCustomerInfoModel.vendorName isEqualToString:selectedItemTitle])
        {
            oldVendorIde = [NSString stringWithFormat:@"%ld", tempCustomerInfoModel.rowId];

            NSLog(@"Selected RowID = %@",oldVendorIde);

            break;
        }
    }
}

我将oldVendorIde字符串发送到下一个方法。

- (ItemModel *)itemNodelWithAttributes {
    isProductIdExist = NO;

    if ([senderInfo isEqualToString:@"nP"]) {
        for (int i = 0; i < [appDelegate.itemsArr count]; i++) {
            ItemModel *tempIM = [appDelegate.itemsArr objectAtIndex:i];
            if ([tempIM.productId isEqualToString:[[productIdTextField stringValue] uppercaseString]]) {
                isProductIdExist = YES;
                break;
            }
        }
    }

    if ([senderInfo isEqualToString:@"eP"])  {
        for (int i = 0; i < [appDelegate.itemsArr count]; i++) {
            ItemModel *tempIM = [appDelegate.itemsArr objectAtIndex:i];
            if (tempIM.itemId == itemIdentity) {
                if ([tempIM.productId isEqualToString:[[productIdTextField stringValue] uppercaseString]]) {
                    isProductIdExist = NO;
                }
            }
            else if ([tempIM.productId isEqualToString:[[productIdTextField stringValue] uppercaseString]]) {
                isProductIdExist = YES;
            }
        }
    }
    int tempItemExists = [self saveProductImage:[[productIdTextField stringValue] uppercaseString]];

    NSLog(@"oldVendorIde =%@",oldVendorIde);
    ItemModel *iM = [[ItemModel alloc] initWithItemId:itemIdentity defaultItemMinimumValue:[productMinValueTextField floatValue] staticItemPrice:[productPriceTextField doubleValue] dynamicItemQuantity:[productCurrentStockTextField doubleValue] staticItemDescription:[productDescriptionTextField stringValue] prodId:[[productIdTextField stringValue] uppercaseString] itemVendor:oldVendorIde itemImgExists:tempItemExists stockAvailable:0 itemNotes:[notesTextField string] BarcodeDesc:[BarcodeDescTextView stringValue]];

    return iM;
}

在这种方法中oldVendorIde,某些数据同样可以正常工作,有时它会在此时崩溃。

oldVendorIdesometime 在方法中没有任何价值,应用itemNodelWithAttributes程序在那时崩溃。

Sone可以帮我解决这个问题..提前谢谢..

4

1 回答 1

0

来自 a 的文本UITextField是通过text属性 ( [productIdTextField text]) 访问的,而不是通过stringValue

于 2013-04-09T10:32:59.747 回答