사용자가 금액을 입력하는보기가 있습니다. NSUserDefaults를 사용하여,이 양은 다음 뷰로 옮겨지며, 다음 뷰에서 수학적 계산을 수행하려고합니다. 이 다음보기에서 테이블에 데이터를 추가하는 데 사용되는 가변 배열이 있습니다. NSNumber *sum = [transactions valueForKeyPath:@"@sum.self"];
:NSNumber 및 NSUserDefaults를 사용하여 간단한 계산 수행
내가 배열 함께 객체를 추가하는 방법을 알아 냈 (모든 배열 객체는 함께 추가) -보기 2 =의 NSUserDefaults에서
라벨 : 내가 원하는 것입니다.
나는 수학을 시도했지만 운이 없다 : self.amountLeftInBudget.text = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AmountToSpend"] - sum];
. 이 오류가 발생했습니다 :이 아키텍처 및 플랫폼에 대해 일정한 크기가 아닌 인터페이스 'id'에 대한 포인터에 대한 산술.
누구든지 아이디어가 있습니까? 감사.
편집 : (경고보기 사용) 내 코드 두 문자열을 빼기 위해 노력에서
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//Only do the following actions if the user hit the done button
if (buttonIndex == 1)
{
NSString *amountSpentTextField = [alertView textFieldAtIndex:0].text;
if (!transactions)
{
transactions = [[NSMutableArray alloc]init];
}
[transactions insertObject:amountSpentTextField atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.mytableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
//Add all the objects in the transactions array
NSDecimalNumber *sum = [transactions valueForKeyPath:@"@sum.self"];
//Get the user defaults from the amountToSpend field
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDecimalNumber *amountToSpend = [defaults objectForKey:@"AmountToSpend"];
// Set the amountLeftInBudget label THE PROBLEM! the subtracting does not work
[self.amountLeftInBudget setText:[amountToSpend decimalNumberBySubtracting:sum]];
//Set the amountSpent label
[self.amountSpent setText:[sum stringValue]];
}
}
문제.
[[NSUserDefaults standardUserDefaults] objectForKey:@"AmountToSpend"]
이 값이 표현의 무엇인가
답변 해 주셔서 감사합니다. 그것은 많은 의미가 있습니다. 사용자 기본값의 가치는 어떻게 얻을 수 있습니까? –
@ShaanSingh CRD가 마지막 단락에서 대답했습니다.'NSNumber'에서 숫자 값을 가져 오는 방법을 모르면 잠시 후 다시 한 번 언어의 기본 사항을 검토하는 것이 좋습니다. – bbum
NSUserDefaults에도 사용할 수 있습니까? –