我使用下面的代碼從我的持久存儲中獲取數據並分配輸出到一些文本字段從核心數據讀取的字符串得到返回裏面(),我如何訪問沒有()的字符串?
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = appDelegate.persistentContainer.viewContext;
// Fetch the itemDetails from persistent data store
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"TillData"];
NSPredicate *predicateItemId =[NSPredicate predicateWithFormat:@"itemId==%@", _transactionDetailViewItemIdTxt.text];
NSPredicate *predicateBarCode =[NSPredicate predicateWithFormat:@"noos14 LIKE %@", _transactionDetailViewBarCodeTxt.text];
NSPredicate *predicate = [NSCompoundPredicate orPredicateWithSubpredicates:@[predicateItemId, predicateBarCode]];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
self.itemInfo = [[context executeFetchRequest:fetchRequest error:&error] mutableCopy];
fetchRequest = nil;
if([NWTillHelper isDebug] == 1) {
NSLog(@"TransactionDetailView:transactionDetailViewItemLookupBtn_Pressed:fetchRequest:error %@", error);
NSLog(@"TransactionDetailView:transactionDetailViewItemLookupBtn_Pressed:self.itemInfo.itemId holds %@", [self.itemInfo valueForKey:@"itemId"]);
NSLog(@"TransactionDetailView:transactionDetailViewItemLookupBtn_Pressed:self.itemInfo.noos14 holds %@", [self.itemInfo valueForKey:@"noos14"]);
}
[self.transactionDetailViewItemIdTxt setText:[NSString stringWithFormat:@"%@", [self.itemInfo valueForKey:@"itemId"]]];
[self.transactionDetailViewBarCodeTxt setText:[NSString stringWithFormat:@"%@", [self.itemInfo valueForKey:@"noos14"]]];
調試輸出告訴我,我得到了正確的值回如下
TransactionDetailView:transactionDetailViewItemLookupBtn_Pressed:self.itemInfo.itemId holds (
101064025138011
)
2016-11-26 00:04:12.428 NWMobileTill[2282:87496] TransactionDetailView:transactionDetailViewItemLookupBtn_Pressed:self.itemInfo.noos14 holds (
"09258384394951,09258387434951"
)
正如你所看到的,返回的值被包含在()中,我認爲這只是調試輸出,但實際上那些()也存在,當我將字符串分配給文本字段當然沒有意義,這意味着我最終字符串在我的UITextFields看起來像(fooo)
爲什麼我的數據被包含在括號中,如何在沒有括號的情況下訪問實際值?請放心,數據庫中的實際數據不包含在()中
一個數組,但我怎麼能知道什麼樣的價值是否在數組中的哪個索引處,如果我不能在數組上使用某種valueForKey?例如,我怎麼能知道itemId是[0,0],因爲這是什麼似乎? –
更新了一些更正。 –
我明白我需要做什麼,我只是不明白如何在不知道索引的情況下如何訪問字符串,fetchRequest返回一個數組,我將其放入另一個數組中,這意味着我有一個數組和數組,我不知道如何知道如何訪問我擁有itemId的對象?我是新來的,所以我理解這個理論,並且試圖將它翻譯成代碼,但是沒有成功,一個簡單的例子會很有幫助 –