Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.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
Ios 自动生成的主键_Ios - Fatal编程技术网

Ios 自动生成的主键

Ios 自动生成的主键,ios,Ios,我正在开发一个IOS应用程序。使用核心数据存储数据。但是主键会自动生成。数据可以使用ID存储 //Code Is NSManagedObjectContext *context = [self managedObjectContext]; NSManagedObject *userobj = [NSEntityDescription insertNewObjectForEntityForName:@"DetailSave" inManagedObjectContext:context]

我正在开发一个IOS应用程序。使用核心数据存储数据。但是主键会自动生成。数据可以使用ID存储

//Code Is

NSManagedObjectContext *context = [self managedObjectContext];
    NSManagedObject *userobj = [NSEntityDescription insertNewObjectForEntityForName:@"DetailSave" inManagedObjectContext:context];

    [userobj setValue:[NSNumber numberWithInteger:_userObj.userId] forKey:@"id"];
    [userobj setValue:_titleLabel.text forKey:@"title"];
    NSInteger valInt = 1;
    NSNumber *val = [NSNumber numberWithInteger:valInt];
    [userobj setValue:val forKey:@"quantity"];

    NSString *maxpurch = [dict objectForKey:@"_max_purchases_per_user"];
    NSNumber *maxval = [NSNumber numberWithInteger:[maxpurch integerValue]];
    [userobj setValue:maxval forKey:@"max_purch"];

    NSString *maxPurch = [dict objectForKey:@"_max_purchases"];
    NSNumber *max = [NSNumber numberWithInteger:[maxPurch integerValue]];
    [userobj setValue:max forKey:@"available"];

    NSString *baseprice = [dict objectForKey:@"_base_price"];
    NSNumber *basePrice = [NSNumber numberWithInteger:[baseprice integerValue]];
    [userobj setValue:basePrice forKey:@"amount"];

    //NSLog(@"%@",userobj);
       NSLog(@"app dir: %@",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);

    NSError *error = nil;
    if (![context save:&error]) {
        NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
    }

    NSFetchRequest *request = [[NSFetchRequest alloc] init];       // Count Entity
    [request setEntity:[NSEntityDescription entityForName:@"DetailSave" inManagedObjectContext:context]];
    [request setIncludesSubentities:NO];
    NSError *err;
    NSUInteger count = [context countForFetchRequest:request error:&err];
    if(count == NSNotFound) {

    }

如果M=8,或者即使M接近8(例如9或10),那么这需要一段时间,您可以更聪明

-(NSMutableArray *)getEightRandomLessThan:(int)M {
  NSMutableArray *listOfNumbers = [[NSMutableArray alloc] init];
  for (int i=0 ; i<M ; ++i) {
    [listOfNumbers addObject:[NSNumber numberWithInt:i]]; // ADD 1 TO GET NUMBERS BETWEEN 1 AND M RATHER THAN 0 and M-1
  }
  NSMutableArray *uniqueNumbers = [[[NSMutableArray alloc] init] autorelease];
  int r;
  while ([uniqueNumbers count] < 8) {
    r = arc4random() % [listOfNumbers count];
    if (![uniqueNumbers containsObject:[listOfNumbers objectAtIndex:r]]) {
      [uniqueNumbers addObject:[listOfNumbers objectAtIndex:r]];
    }
  }
  [listOfNumbers release];
  return uniqueNumbers;
}
-(NSMutableArray*)getEightRandomLessThan:(int)M{
NSMutableArray*ListofNumber=[[NSMutableArray alloc]init];
for(int i=0;i=prime)
返回x;//超出范围的5个整数映射到它们自己。
无符号整数剩余=((无符号长)x*x)%prime;

返回(x如果M=8,或者即使M接近8(例如9或10),那么这需要一段时间,并且您可以更聪明

-(NSMutableArray *)getEightRandomLessThan:(int)M {
  NSMutableArray *listOfNumbers = [[NSMutableArray alloc] init];
  for (int i=0 ; i<M ; ++i) {
    [listOfNumbers addObject:[NSNumber numberWithInt:i]]; // ADD 1 TO GET NUMBERS BETWEEN 1 AND M RATHER THAN 0 and M-1
  }
  NSMutableArray *uniqueNumbers = [[[NSMutableArray alloc] init] autorelease];
  int r;
  while ([uniqueNumbers count] < 8) {
    r = arc4random() % [listOfNumbers count];
    if (![uniqueNumbers containsObject:[listOfNumbers objectAtIndex:r]]) {
      [uniqueNumbers addObject:[listOfNumbers objectAtIndex:r]];
    }
  }
  [listOfNumbers release];
  return uniqueNumbers;
}
-(NSMutableArray*)getEightRandomLessThan:(int)M{
NSMutableArray*ListofNumber=[[NSMutableArray alloc]init];
for(int i=0;i=prime)
返回x;//超出范围的5个整数映射到它们自己。
无符号整数剩余=((无符号长)x*x)%prime;
返回(x