Задать вопрос
  • JSOn parser swift?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Используйте стандартный NSJSONSerialization
    Ответ написан
    Комментировать
  • Как организовать Core data без tableview?

    Waka_Waka
    @Waka_Waka
    IOS Developer
    Это очень просто сделать.
    Первым делом нужно подключить Core Data в класс, в котором вы собираетесь что-либо реализовать с использованием Core Data.
    Делается это так:
    -(NSManagedObjectContext *)managedObjectContext{
        NSManagedObjectContext *context = nil;
        id delegate = [[UIApplication sharedApplication]delegate];
        if ([delegate performSelector:@selector(managedObjectContext)]) {
            context = [delegate managedObjectContext];
        }
        return context;
    }

    Мы используем тут класс AppDelegate, потому что Core Data инициализируется именно там.

    Предположим, что у нас есть сущность "Human", в которой есть три поля: firstName, lastName и phoneNumber.

    Запись этих данных в CoreData будет выглядеть так:
    NSManagedObjectContext *context = [self managedObjectContext]; 
        Humans *newHuman = [NSEntityDescription insertNewObjectForEntityForName:@"Humans"
                                                         inManagedObjectContext:[self managedObjectContext]];
        if (newHuman != nil) {
            newHuman.firstName = self.firstNameField.text;
            newHuman.lasteName = self.lastNameField.text;
            newHuman.phoneNamber = self.phoneNumberField.text;
    }
    
    NSError *savingError = nil;
    
    if (![context save:&savingError]) {
    NSLog(@"Eroor");
    }


    Получение данных из CoreData будет выглядеть так:
    NSManagedObjectContext *context = [self managedObjectContext];
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init]; 
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Humans" inManagedObjectContext:context]; 
        [fetchRequest setEntity:entity];
        
        NSMutableArray *array = [context executeFetchRequest:fetchRequest error:nil]; //Массив можно определить и в другом месте
    
    NSManagedObject *newCell = [self.array objectAtIndex:0]; //Тут надо указать какой-либо индекс (обычно в tableview используется indexPatch.row). Можно так же быстрым перебором получить все.
    
    //И записываем в переменные
    NSString *name = [newCell valueForKey:@"firstName"];
    NSString *lastName = [newCell valueForKey:@"lasteName"];
    NSString *phoneNum = [newCell valueForKey:@"phoneNamber"];


    Вот так все просто))
    Ответ написан
    Комментировать
  • Как организовать Core data без tableview?

    Flanker_4
    @Flanker_4
    Понимаете в чем дело, CoreData Framework предназначен для хранения и управления графом объектов. Именно по этому везде используют UITableView. Он без заморочек позволяет отобразить иерархическую структуру, был бы стандартный контролл для рисования графов, юзали бы его. Ну так вот, Core Data не предназначен для хранения переменных - это как на самолете по сельской дороге кататься. Настоятельно рекомендую почитать хотя бы первые две главы https://developer.apple.com/library/mac/documentat... Для сохранения каких-то переменных лучше всего использовать NSUserDefault или же NSKeyedArchiver

    На всякий случай, если Вы все же захотите что-то записать в CoreData , то смотрите на главы Creating and Deleting Managed Objects и Fetching Managed Objects. Ну и перед тем как писать "переменную", ее нужно будет представить в виде объекта...
    Ответ написан
    Комментировать
  • Как настроить профиль apple?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    В ошибке написано, что у вас пустой bundle identifier, что не есть правильно. Поставьте правильный идентификатор вашего приложения либо ваш wildcard идентификатор.
    Ответ написан
    Комментировать
  • Как определить нажатие кнопки?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button addTarget:self  action:@selector(myLovelyFunction:) forControlEvents:UIControlEventTouchUpInside];
    [button setTitle:@"Touch me, baby!" forState:UIControlStateNormal];
    button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
    [view addSubview:button];

    В свою очередь вызываемая функция выглядит примерно так:
    - (void)myLovelyFunction:(id)sender {
        // do something
    }


    UPD. Если же много много кнопок вызывают одну и туже функцию, но по разному, то можно делать ещё вот так:
    при создании кнопки:
    [button setTag:91];
    А в функции
    - (void)myLovelyFunction:(id)sender {
       UIButton *button = (UIButton*)sender;
       if (button.tag == 91) {
          // super
       } else {
          // good too
        }
    }
    Ответ написан
    4 комментария