使用核心数据 iOS 的登录 ID 和密码
Posted
技术标签:
【中文标题】使用核心数据 iOS 的登录 ID 和密码【英文标题】:Login ID and Password using core data iOS 【发布时间】:2012-03-07 02:10:58 【问题描述】:我正在创建一个使用核心数据的项目。
现在我的第一个视图是表视图控制器中的登录名/密码。
用户点击完成后,我希望我的应用程序将登录名和密码文本字段与实体登录名(具有属性:用户 ID 和密码)进行比较,然后显示另一个视图,其中包含与该用户关联的信息(1 到1) 关系。
谁能帮我验证登录密码,然后只显示与该用户相关的信息?
任何帮助将不胜感激。我对此完全陌生。
【问题讨论】:
【参考方案1】:您需要针对该实体创建一个 Fetch 请求(您需要对其进行修改以满足您的特定需求:
NSFetchRequest *request= [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entity" inManagedObjectContext:context];
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"username==%@ AND password==%@",self.UsernameTextField.Text, self.PasswordTextField.Text];
[request setEntity:entity];
[request setPredicate:predicate];
...对结果做任何你需要做的事情(NSArray)
【讨论】:
感谢您的意见...你能告诉我 [request setEntity:entity]; 做什么吗? [请求集合谓词:谓词];意思是???以及如何使用它们链接到目标视图控制器? 此时最好的办法就是阅读一些关于此的教程。 Ray Wenderlich 在基本核心数据方面有一些很棒的课程,iTunesU 的斯坦福课程也非常好。您的另一个选择是支付培训费用。在我看来,Lynda.com 是一个很好的地方。【参考方案2】://first view controller
#import "ViewController.h"
#import "SecondViewController.h"
#import "SecondTableViewCell.h"
#import "AppDelegate.h"
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
@property(strong)NSMutableArray *company;
@end
@implementation ViewController
- (NSManagedObjectContext *)managedObjectContext
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)])
context = [delegate managedObjectContext];
return context;
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
- (void)viewDidAppear:(BOOL)animated
[super viewDidAppear:animated];
// Fetch the devices from persistent data store
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"CompanyDetails"];
self.company = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
[self.tableview reloadData];
#pragma mark-datasource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
// Return the number of sections.
return 1;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
// Return the number of rows in the section.
return self.company.count;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"sri";
SecondTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
NSManagedObject *device = [self.company
objectAtIndex:indexPath.row];
cell.lbl_c.text=[NSString stringWithFormat:@"%@", [device valueForKey:@"companyName"]];
cell.lbl_e .text=[NSString stringWithFormat:@"%@" , [device valueForKey:@"empName"]];
cell.lbl_s .text=[NSString stringWithFormat:@"%@", [device valueForKey:@"salary"]];
cell.img_g.image =[UIImage imageWithData:[device valueForKey:@"companyImage"]];
return cell;
// delete
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
// Return NO if you do not want the specified item to be editable.
return YES;
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
NSManagedObjectContext *context = [self managedObjectContext];
if (editingStyle == UITableViewCellEditingStyleDelete)
// Delete object from database
[context deleteObject:[self.company
objectAtIndex:indexPath.row]];
NSError *error = nil;
if (![context save:&error])
NSLog(@"Can't Delete! %@ %@", error, [error localizedDescription]);
return;
// Remove device from table view
[self.company removeObjectAtIndex:indexPath.row];
[self.tableview deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([[segue identifier] isEqualToString:@"segue"])
NSManagedObject *selectedDevice = [self.company objectAtIndex:[[self.tableview indexPathForSelectedRow] row]];
SecondViewController *vc2 = segue.destinationViewController;
vc2.device = selectedDevice;
@end
//second view controller
#import "SecondViewController.h"
#import "AppDelegate.h"
#import <CoreData/CoreData.h>
@interface SecondViewController ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate>
@end
@implementation SecondViewController
@synthesize device;
-(NSManagedObjectContext *)managedObjectContext
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)])
context = [delegate managedObjectContext];
return context;
- (void)viewDidLoad
[super viewDidLoad];
if (self.device)
[self.txt_c setText:[self.device valueForKey:@"companyName"]];
[self.txt_e setText:[self.device valueForKey:@"empName"]];
[self.txt_s setText:[self.device valueForKey:@"salary"]];
self.img.image = [UIImage imageWithData:[self.device valueForKey:@"companyImage"]];
// self.txt_stdname.text = [NSString stringWithFormat:@"%@",[self.obj valueForKey:@"studentName"]];
//
// self.txt_strrollno.text = [NSString stringWithFormat:@"%@",[self.obj valueForKey:@"studentRollno"]];
//
// self.txt_stddept.text = [NSString stringWithFormat:@"%@",[self.obj valueForKey:@"studentDepartment"]];
// Do any additional setup after loading the view.
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
*/
- (IBAction)btt_save:(id)sender
NSManagedObjectContext *context = [self managedObjectContext];
if(self.device)
[device setValue:self.txt_c.text forKey:@"companyName"];
[device setValue:self.txt_e.text forKey:@"empName"];
[device setValue:self.txt_s.text forKey:@"salary"];
NSData *imgdata = UIImageJPEGRepresentation(self.img.image, 0.0);
[device setValue:imgdata forKey:@"companyImage"];
else
NSManagedObject *comdetails = [NSEntityDescription insertNewObjectForEntityForName:@"CompanyDetails" inManagedObjectContext:context];
[comdetails setValue:self.txt_c.text forKey:@"companyName"];
[comdetails setValue:self.txt_e.text forKey:@"empName"];
[comdetails setValue:self.txt_s.text forKey:@"salary"];
NSData *imgdata = UIImageJPEGRepresentation(self.img.image, 0.0);
[comdetails setValue:imgdata forKey:@"companyImage"];
NSError *error = nil;
// Save the object to persistent store
if (![context save:&error])
NSLog(@"Can't Save! %@ ", error.localizedDescription);
[self.navigationController popViewControllerAnimated:YES];
- (IBAction)btt_gallery:(id)sender
UIImagePickerController *imagePicker = [[UIImagePickerController alloc]init];
imagePicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:YES completion:nil];
#pragma mark UIImagePickerControllerDelegate
- (void) imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
self.img.image = image;
[self dismissModalViewControllerAnimated:YES];
- (IBAction)btt_cancel:(id)sender
[self.navigationController popViewControllerAnimated:YES];
@end
【讨论】:
【参考方案3】:// First view controller
#import "ViewController.h"
#import "ViewController6578.h"
#import "AppDelegate.h"
#import <CoreData/CoreData.h>
@interface ViewController ()<UITextFieldDelegate>
NSArray *user;
- (IBAction)btt_reg:(id)sender;
@end
@implementation ViewController
- (NSManagedObjectContext *)managedObjectContext
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)])
context = [delegate managedObjectContext];
return context;
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
- (void)textFieldDidEndEditing:(UITextField *)textField
// AppDelegate *appDelegate =
// [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *request= [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"LogIn" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"userName==%@",self.txt_user.text];
[request setPredicate:predicate];
NSManagedObject *manage = nil;
NSError *error;
user=[managedObjectContext executeFetchRequest:request error:&error];
if([user count]==0)
NSLog(@"user and password");
else
manage =user[0];
_txt_pass.text = [manage valueForKey:@"password"];
- (IBAction)btt_log:(id)sender
if((_txt_user.text.length == 0) || (_txt_pass.text.length==0))
NSLog(@"enter username and password");
else
NSLog(@"%@,Login successfull",_txt_user.text);
- (IBAction)btt_reg:(id)sender
ViewController6578 *vc2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ndot"];
[self.navigationController pushViewController:vc2 animated:YES];
@end
//second view controller
#import "ViewController6578.h"
#import "AppDelegate.h"
#import <CoreData/CoreData.h>
@interface ViewController6578 ()<UITextFieldDelegate>
@end
@implementation ViewController6578
- (NSManagedObjectContext *)managedObjectContext
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)])
context = [delegate managedObjectContext];
return context;
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view.
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
*/
#pragma mark-delegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField
[textField becomeFirstResponder];
if(textField == _txt_user)
[_txt_pass becomeFirstResponder];
else if(textField == _txt_pass)
[_txt_email becomeFirstResponder];
else if(textField == _txt_email)
[_txt_email becomeFirstResponder];
else
[_txt_email resignFirstResponder];
return YES;
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
if (textField == _txt_user)
NSString *user =[_txt_user.text stringByReplacingCharactersInRange:range withString:string];
NSString *userRegex = @"^[A-Z0-9a-z]6,10$";
NSPredicate *userTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", userRegex];
if ([userTest evaluateWithObject:user] == YES)
_lbl1.text =@"";
else
_lbl1.text =@"not valid";
if(textField ==_txt_pass)
NSString *pass =[_txt_pass.text stringByReplacingCharactersInRange:range withString:string];
NSString *passRegex =@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]8,16$";
NSPredicate *passTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passRegex];
if ([passTest evaluateWithObject:pass] == YES)
_lbl2.text =@"";
else
_lbl2.text =@"not valid";
if(textField ==_txt_email)
NSString *email =[_txt_email.text stringByReplacingCharactersInRange:range withString:string];
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]2,10";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
if ([emailTest evaluateWithObject:email] == YES)
_lbl3.text =@"";
else
_lbl3.text =@"not valid";
return YES;
- (IBAction)btt_save:(id)sender
if((_txt_user.text.length==0) || (_txt_pass.text.length==0) || (_txt_email.text.length==0))
UIAlertController *alert =[UIAlertController alertControllerWithTitle:@"title" message:@"please enter user,password,email" preferredStyle:UIAlertViewStyleDefault];
UIAlertAction* yesButton = [UIAlertAction
actionWithTitle:@"Yes, please"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
];
UIAlertAction* cancelButton = [UIAlertAction
actionWithTitle:@"No, thanks"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
];
[alert addAction:yesButton];
[alert addAction:cancelButton];
[self presentViewController:alert animated:yesButton completion:nil];
else
NSManagedObjectContext *context = [self managedObjectContext];
// Create a new managed object
NSManagedObject *details = [NSEntityDescription insertNewObjectForEntityForName:@"LogIn" inManagedObjectContext:context];
[details setValue:self.txt_user.text forKey:@"userName"];
[details setValue:self.txt_pass.text forKey:@"password"];
[details setValue:self.txt_email.text forKey:@"emailAddress"];
NSLog(@"12334%@",details);
NSError *error = nil;
_txt_user.text =@"";
_txt_pass.text =@"";
_txt_email.text =@"";
// Save the object to persistent store
if (![context save:&error])
NSLog(@"Can't Save! %@ ",error .localizedDescription);
[self.navigationController popViewControllerAnimated:YES];
- (IBAction)btt_cancel:(id)sender
[self.navigationController popViewControllerAnimated:YES];
@end
【讨论】:
【参考方案4】:#import "ViewController.h"
#import "secondTableViewCell.h"
#import "SecondViewController.h"
@interface ViewController ()<NSURLConnectionDelegate,NSURLConnectionDataDelegate,UITableViewDelegate,UITableViewDataSource>
@property(nonatomic,strong)NSData *get_data;
@property(nonatomic,strong)NSMutableArray *result_array;
@end
@implementation ViewController
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *base_url = @"https://itunes.apple.com/lookup?id=909253&entity=album";
NSURL *url =[NSURL URLWithString:[NSString stringWithFormat:@"%@",base_url]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setURL:url];
[request setHTTPMethod:@"GET"];
[NSURLConnection connectionWithRequest:request delegate:self];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
#pragma mark- nsurlconnection delegate
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
NSLog(@"%@",error.localizedDescription);
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(nonnull NSURLResponse *)response
NSLog(@"%@",response);
-(void)connection:(NSURLConnection *)connection didReceiveData:(nonnull NSData *)data
NSLog(@"88888%@",data);
if ([data length])
self.get_data = [[NSData alloc]init];
self.get_data =data;
NSLog(@"%@",self.get_data);
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
NSError *error = nil;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:self.get_data options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"vijay%@",dict);
if (!error)
NSArray *array = [dict valueForKey:@"results"];
NSLog(@"1212%@",array);
self.result_array = [[NSMutableArray alloc]init];
self.result_array = [NSMutableArray arrayWithArray:array];
dispatch_async(dispatch_get_main_queue(), ^
[_tableview reloadData];
);
#pragma mark -uitableview datasource
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
return 1;
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return self.result_array.count;
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
secondTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"sri"];
if (cell == nil)
cell = [[secondTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
cell.lbl1.text = [[self.result_array valueForKey:@"wrapperType"]objectAtIndex:indexPath.row];
cell.lbl2.text = [[self.result_array valueForKey:@"artistName"]objectAtIndex:indexPath.row];
cell.lbl3.text = [[self.result_array valueForKey:@"primaryGenreName"]objectAtIndex:indexPath.row];
// integer to string
NSInteger artid = [[[self.result_array valueForKey:@"artistId"]objectAtIndex:indexPath.row] integerValue];
NSString *str = [NSString stringWithFormat:@"%ld",(long)artid];
// NSInteger release = [[[self.result_array valueForKey:@"releaseDate"]objectAtIndex:indexPath.row] integerValue];
//
// NSString *str1 = [NSString stringWithFormat:@"%ld",(long)release];
//
// cell.lbl3.text = str;
//// // // float to string
// float a = [[[self.result_array valueForKey:@"collectionPrice"]objectAtIndex:indexPath.row]floatValue];
// NSString *str1 = [NSString stringWithFormat:@"%.2f",a];
//
cell.lbl4.text = str;
////
//
cell.img1.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[[_result_array valueForKey:@"artworkUrl60"]objectAtIndex:indexPath.row]]]]];
//
//
//
//
//
//
return cell;
//
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[self performSegueWithIdentifier:@"segue" sender:self];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([[segue identifier] isEqualToString:@"segue"])
//Do something
NSIndexPath *index = [self.tableview indexPathForSelectedRow];
SecondViewController *detailController = [segue destinationViewController];
// detailController.txt2= [cricket objectAtIndex:index.row];
detailController.imgg1= [UIImage imageNamed:[_result_array objectAtIndex:index.row]];
@end
【讨论】:
【参考方案5】:#import "ViewController.h"
#import "CollectionViewCell1234.h"
#import "ViewController6778.h"
@interface ViewController ()<NSURLConnectionDelegate,NSURLConnectionDataDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UINavigationControllerDelegate>
@property (nonatomic ,strong)NSData *resultdata;
@property ( nonatomic,strong)NSMutableArray *array1;
@end
@implementation ViewController
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self webserviceCallingUsingGETMethod];
_collectionview.backgroundColor = [UIColor purpleColor];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
#pragma mark- delegate
-(void)webserviceCallingUsingGETMethod
NSString *stringurl = @"https://itunes.apple.com/search?";
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",stringurl]];
NSString *params = @"term=jack+johnson&entity=musicVideo";
NSData *postdata = [params dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postdata];
[NSURLConnection connectionWithRequest:request delegate:self];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError)
if (connectionError)
NSLog(@"Error :%@", connectionError.localizedDescription);
return;
if (data)
self.resultdata = data;
NSError *error = nil;
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:_resultdata options:NSJSONReadingAllowFragments error:&error];
NSLog(@"RESULT :%@", result);
NSArray *array = [result valueForKey:@"results"];
_array1 =[[NSMutableArray alloc]init];
_array1 = [NSMutableArray arrayWithArray:array];
NSLog(@"122345%@",array);
dispatch_async(dispatch_get_main_queue(), ^
[_collectionview reloadData];
);
];
#pragma mark-collectionview delegate
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
return 1;
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
return _array1.count;
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
NSString *nschool = @"sri";
CollectionViewCell1234 *cell = [collectionView dequeueReusableCellWithReuseIdentifier:nschool forIndexPath:indexPath];
cell.imgview.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[[_array1 valueForKey:@"artworkUrl30"]objectAtIndex:indexPath.row]]]]];
cell.backgroundColor = [UIColor greenColor];
cell.lbl1.text = [[self.array1 valueForKey:@"wrapperType"]objectAtIndex:indexPath.row];
cell.lbl2.text = [[self.array1 valueForKey:@"artistName"]objectAtIndex:indexPath.row];
cell.lbl3.text = [[self.array1 valueForKey:@"releaseDate"]objectAtIndex:indexPath.row];
cell.lbl4.text = [[self.array1 valueForKey:@"country"]objectAtIndex:indexPath.row];
cell.lbl5.text = [[self.array1 valueForKey:@"currency"]objectAtIndex:indexPath.row];
cell.lbl6.text = [[self.array1 valueForKey:@"trackName"]objectAtIndex:indexPath.row];
cell.lbl7.text = [[self.array1 valueForKey:@"kind"]objectAtIndex:indexPath.row];
NSInteger artid= [[[self.array1 valueForKey:@"artistId"]objectAtIndex:indexPath.row]integerValue];
NSString *str1 =[NSString stringWithFormat:@"%ld",(long)artid];
cell.lbl8.text = str1;
CGFloat cp = [[[self.array1 valueForKey:@"collectionPrice"]objectAtIndex:indexPath.row]floatValue];
NSString *str4 = [NSString stringWithFormat:@"%3f",cp];
cell.lbl9.text = str4;
cell.lbl10.text = [[self.array1 valueForKey:@"collectionExplicitness"]objectAtIndex:indexPath.row];
cell.lbl11.text = [[self.array1 valueForKey:@"primaryGenreName"]objectAtIndex:indexPath.row];
NSInteger tracknum = [[[self.array1 valueForKey:@"trackId"]objectAtIndex:indexPath.row]integerValue];
NSString *str3 = [NSString stringWithFormat:@"%ld",(long)tracknum];
cell.lbl12.text = str3;
cell.lbl13.text = [[self.array1 valueForKey:@"trackExplicitness"]objectAtIndex:indexPath.row];
NSInteger tracknum1 =[[[self.array1 valueForKey:@"trackTimeMillis"]objectAtIndex:indexPath.row]integerValue];
NSString *str2 = [NSString stringWithFormat:@"%ld",(long)tracknum1];
cell.lbl14.text =str2;
return cell;
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
[self performSegueWithIdentifier:@"segue" sender:self];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([[segue identifier] isEqualToString:@"segue"])
ViewController6778 *vc2 = [segue destinationViewController];
vc2.img1.images ;
@end
【讨论】:
以上是关于使用核心数据 iOS 的登录 ID 和密码的主要内容,如果未能解决你的问题,请参考以下文章
Android 和 iOS 上的 Facebook 用户 ID