我正在創建一個包含核心數據的項目。使用核心數據登錄ID和密碼iOS
現在我的第一個視圖是登錄/密碼在表視圖控制器。
只要用戶點擊完成,我希望我的應用程序將登錄名和密碼文本字段與實體登錄名(具有屬性:用戶名和密碼)進行比較,然後顯示另一個視圖以及與該用戶相關的信息(1到1)的關係。
任何人可以幫助我如何驗證登錄密碼,然後只顯示與該用戶相關的信息?
任何幫助將非常感激。我對此完全陌生。
我正在創建一個包含核心數據的項目。使用核心數據登錄ID和密碼iOS
現在我的第一個視圖是登錄/密碼在表視圖控制器。
只要用戶點擊完成,我希望我的應用程序將登錄名和密碼文本字段與實體登錄名(具有屬性:用戶名和密碼)進行比較,然後顯示另一個視圖以及與該用戶相關的信息(1到1)的關係。
任何人可以幫助我如何驗證登錄密碼,然後只顯示與該用戶相關的信息?
任何幫助將非常感激。我對此完全陌生。
你需要針對實體創建一個取得請求(您將需要修改這個以滿足您的特定需求:
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的)
// 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 [email protected]"";
}
else{
_lbl1.text [email protected]"not valid";
}
}
if(textField ==_txt_pass)
{
NSString *pass =[_txt_pass.text stringByReplacingCharactersInRange:range withString:string];
NSString *passRegex [email protected]"^(?=.*[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 [email protected]"";
}
else{
_lbl2.text [email protected]"not valid";
}
}
if(textField ==_txt_email)
{
NSString *email =[_txt_email.text stringByReplacingCharactersInRange:range withString:string];
NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,10}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
if ([emailTest evaluateWithObject:email] == YES)
{
_lbl3.text [email protected]"";
}
else{
_lbl3.text [email protected]"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 [email protected]"";
_txt_pass.text [email protected]"";
_txt_email.text [email protected]"";
// 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
請在你的代碼上加一些說明。 – 2017-11-03 09:07:49
//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
#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
#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
感謝您的輸入...你能告訴我該怎麼辦[熱曲est setEntity:entity]; [request setPredicate:predicate];意思???以及如何使用它們鏈接到目標視圖控制器? – user1253637 2012-03-07 03:20:53
你現在要做的最好的事情是通過一些關於這個的教程。 Ray Wenderlich在基礎核心數據方面有一些很棒的,而iTunesU斯坦福大學的課程也非常好。你擁有的另一個選擇是支付培訓費用。在我看來,Lynda.com是一個很好的地方。 – 2012-03-07 10:00:14