Так что я создаю приложение в виде приложения для социальных сетей. Я использую учебник, найденный here как плацдарм, так как я все еще пытаюсь обернуть мозг вокруг Core Data. Я отклонился от учебника, добавив кнопку регистрации, которая выводит пользователя на новый контроллер просмотра и создает файл .h и .m и устанавливает экран «Новый элемент» для ссылки на файлы .h и .m. Они устанавливаются следующим за .h:Помощник Coredata
#import <UIKit/UIKit.h>
@interface NewMemberViewController : UIViewController
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (strong, nonatomic) IBOutlet UITextField *nameTF;
@property (strong, nonatomic) IBOutlet UITextField *ageTF;
@property (strong, nonatomic) IBOutlet UITextField *usernameTF;
@property (strong, nonatomic) IBOutlet UITextField *passwordTF;
- (IBAction)alreadyMember:(id)sender;
- (IBAction)checkAndLogin:(id)sender;
@end
и для .m:
#import "NewMemberViewController.h"
#import "CoreDataHelper.h"
@interface NewMemberViewController()
@end
@implementation NewMemberViewController
@synthesize usernameTF, ageTF, passwordTF, nameTF, managedObjectContext;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
//If the user is already a member simply dismiss the VC
- (IBAction)alreadyMember:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
//When done editing keyboard
- (IBAction)checkAndLogin:(id)sender {
managedObjectContext =self.managedObjectContext;
//Textfield Reference
UITextField *tf = (UITextField *)sender;
//Check tag numbers If its equal to 1 or 2(nameTF or ageTF) then
if (tf.tag==1||tf.tag==2)
{
[sender resignFirstResponder];
NSLog(@"This is working");
}
//If its equal to 3 then this means the username text field is active
else if (tf.tag == 3)
{
[sender resignFirstResponder];
//do a quick search to see if username is availible
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(username == %@)", [usernameTF text]];
//Run the query to check if user exists
if([CoreDataHelper countForEntity:@"Users" withPredicate:pred andContext:managedObjectContext] > 0)
{
//we found a user
NSLog(@"oh no...");
}
}
}
@end
С этим сказал, что если я бегу мое приложение и перейти на экран регистрации и тест, чтобы увидеть если пользователь существует, введя в администраторе, так как он уже существует, я получаю следующее сообщение об ошибке в Xcode:
Полотно [779: 11603] * WebKit отбрасывается неперехваченное исключение в WebView: shouldInsertText : ReplacingDOMRange: givenAction: делегат: + entityForName: ноль ищет не юридический параметр NSManagedObjectContext для имени объекта «» Пользователи
Что это значит и почему оно вызвано?
Для этого мне нужно будет импортировать что-либо в файл .h? – joeBustamante
Хотел сказать спасибо. Я добавил это в начало моего действия «checkAndLogin», а затем запустил его, и мое приложение сработало! Еще раз спасибо. – joeBustamante
Ты добрый! – RFG