Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Flaze
1 / 1 / 0
Регистрация: 27.05.2013
Сообщений: 160
#1

Что значат собака (@) и процент (%) в тексте кода - Objective-C

07.01.2014, 22:47. Просмотров 2319. Ответов 4
Метки нет (Все метки)

Добрый день всем! Извините, если задаю вопрос немного неправильно или это уже было.

Учусь в колледже на отделении ПОИТ и пока в программировании знаю из языков только turbo pascal и то совсем немного. Очень привлекли мобильные платформы и у меня появилось желание научиться программировать под iOS. И вот я начал учить objective c на http://tryobjectivec.codeschool.com/

Не понимаю, что значат собака(@) и процент(%) (по отдельности и в сочетании). Например, вот здесь: NSLog(@"Andrey); и здесь NSLog(@"Hello there, %@.", firstName); и вот здесь NSLog(@"%@ %@", firstName, firstName);

Объясните мне пожалуйста, что значат эти строки.

И еще вопрос. Чувствителен ли objective c к регистру? разные ли это переменные: "firstname" и "firstName"?

И, если можно, человек, который мне ответит, дай пожалуйста свой скайп.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 22:47     Что значат собака (@) и процент (%) в тексте кода
Посмотрите здесь:

Собака в логине - Objective-C
Возможно, дурной вопрос, но я что-то туплю второй день. Есть у меня логин к FTP-серверу вида username@host. На всякий случай уточняю. Это...

скажите что значат %.2f, 4,8 что значат эти цифры и как оно выведет на экран - C++
printf("\n Точность плавающей точки для PI: %.2f, %.4f, %.8f\n", PI,PI,PI); скажите что значат %.2f, 4,8 что значат эти цифры и как оно...

Подскажите, что значат отрывки кода - Python
Есть отрывки кода. Не могу понять, что это такое? 1) new = Я догадываюсь, что здесь цикл, и формируется массив. Что происходит...

Объяснить в комментариях, что значат каждые строчки кода - JavaScript
Нужно объяснить, какие функции у каждой строчки кода <html> <head> <title> тест по информатике для младших школьников ...

Что значат **? - C++
Что значат ** ??? double** mas = (double**)malloc(sizeof(double)*(M));

Что значат строки? - C++
#include <iostream> using namespace std; int main() { double number, min; min = 0; for(int i = 0; i < 10;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
07.01.2014, 23:16     Что значат собака (@) и процент (%) в тексте кода #2
@"someString"-objC строка, @-символ перед скобками означает что это строка, а именно objC строка, объект NSString. "myString"-это просто Си строка.

% точно не знаю как это называется но это символ указывает на то что в строку вставляется либо объект либо число либо еще что то.
% означает что аргументом который вставляется в строку будет objC объект. Если тебе надо вставить int например то пишется %d NSLog(@"some value:%d",10); после % указывается какой тип будет иметь аргумент который вставляется в строку.

Да objC чувствительный к регистру someValue; и somevalue; это разные переменные.
iywenko
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 4
19.01.2014, 18:27     Что значат собака (@) и процент (%) в тексте кода #3
Objective-C
1
NSLog(@"Andrey);
тут упущена еще закрывающая кавычка, надо
Objective-C
1
NSLog(@"Andrey");
любая строка в Objective-C, это @"", как и было уже замечено.

Objective-C
1
NSLog(@"some value:%d",10);
обычное форматирование строк в C, почитайте тут: http://lord-n.narod.ru/download/book.../13/printf.htm
в случае '%@', подразумевается что будет выведен объект.
то есть
Objective-C
1
2
3
NSLog(@"%<object to log>", <object to log>);
NSString *testString = @"This is a test string.";
NSLog(@"Test: %@", testString);
вывод:
Test: This is a test string.

другие примеры:
Objective-C
1
2
3
4
5
6
7
8
NSString *objString = @"object 1";
        NSNumber *objNumber = [NSNumber numberWithInt:2];
        NSNumber *moreObjNumber = @3;
        NSArray *oldVariantArray = [[NSArray alloc] initWithObjects:@"stringObject", [NSNumber numberWithInt:5], [NSNumber numberWithBool:YES], nil];
        NSArray *freshVariantArray = @[@"stringObject2", @6, @YES];
 
        NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: @"object for key1", @"key1", objString, @"key2", objNumber, @"key3", moreObjNumber, @"key4", oldVariantArray, @"key5", freshVariantArray, @"key6", nil];
        NSLog(@"\n\nDifferent usage for \"@\":\n%@", dictionary);
Кстати, словари можно и так инициализировать:
Objective-C
1
NSDictionary *dict = @{ @"key" : objNumber };
Вывод:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Different usage for "@":
{
    key1 = "object for key1";
    key2 = "object 1";
    key3 = 2;
    key4 = 3;
    key5 =     (
        stringObject,
        5,
        1
    );
    key6 =     (
        stringObject2,
        6,
        1
    );
}
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
21.01.2014, 12:07     Что значат собака (@) и процент (%) в тексте кода #4
Не понимаю, что значат собака(@) и процент(%) (по отдельности и в сочетании). Например, вот здесь: NSLog(@"Andrey); и здесь NSLog(@"Hello there, %@.", firstName); и вот здесь NSLog(@"%@ %@", firstName, firstName);
собака в OBJC означает что дальше за ней идет литерал-оператор

некоторые примеры литералов массивов и словарей (IOS SDK 6+)
http://www.imaladec.com/story/literals

некоторые более старые литерал операторы

@selector ( метод объета )
@"строковое значение" - NSString объект
@1 - NSNumber значение
@(2+2) - NSNumber значение
@(2+2.5f) - NSNumber значение

также через собаку пишутся операторы языка непосредственно специфичные для OBJC и не совместимые с чистым СИ

@property
@class
@interface
@impementation
@end

и другие

собака в методах форматированного вывода

NSLog
NSString stringWithFormat

показывает что будет выводиться объект как строка, в зависимости от типа объекта он будет выводиться по-разному.
При этом сохраняется обратная совместимость с СИ форматированием

подробнее о форматировании http://ru.wikipedia.org/wiki/Printf

То есть все выводимые параметры начинаются со знака процент

%@

Например если указать в качестве передаемого параметра массив, то будет выведены все его элементы.
Для строк и чисел %@ просто выводит их значение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2014, 22:22     Что значат собака (@) и процент (%) в тексте кода
Еще ссылки по теме:

Что значат строки - Turbo Pascal
Извините за мой глупый вопрос на что значат вот эти строки: const TAB = ^I; CR = ^M;

Что значат символы? - C++
Что означают эти операции &quot;-=&quot; и &quot;/=&quot; Синтаксис for(j=i+1; j&lt;n; j++) coef(i) -= A(i,j)*coef(j); ...

Что значат эти цифры!? - Теория вероятностей
Добрый вечер. Я очень извиняюсь, может это и глупый вопрос, но что значат эти цифры: [40,40;40,43) [40,43;40,46). Если бы там была 1...

Что значат звечдочка и слово new - C++
PRICE * spisok=new PRICE

Что значат ключи в диаграммах? - SQL Server
что значат ключи в диаграммах? http://mut.ru/1c_relsch/main.php?p=mssql ключ к одной таблице и просто ключи к таблицам.

Что значат эти иероглифы? - C++ Builder БД
Что значат эти иероглифы? http://www.cyberforum.ru/attachment.php?attachmentid=389975&amp;stc=1&amp;d=1397987853


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
iBaga
Сообщений: n/a
28.01.2014, 22:22     Что значат собака (@) и процент (%) в тексте кода #5
Так же % используется в операциях деления, и означает Остаток от деления.
Результатом оператора % будет остаток от целочисленного деления первого операнда на второй.

Пример:

int x = 27, y = 7 , reminder;
reminder = x % y;

reminder будет равен 6, так как 27 - 6 = 21, 21 / 7 = 3
Yandex
Объявления
28.01.2014, 22:22     Что значат собака (@) и процент (%) в тексте кода
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru