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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
dostalo
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 4
#1

Тест - Objective-C

28.04.2013, 21:09. Просмотров 1510. Ответов 9
Метки нет (Все метки)

Если вас не затруднит дайте ответы на эти два теста
0
Вложения
Тип файла: pdf iOS test 1.pdf (44.7 Кб, 60 просмотров)
Тип файла: pdf iOS test 2.pdf (48.3 Кб, 31 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Тест (Objective-C):

Как написать тест? 10 вопросов с выбором ответов да/нет - Программирование iOS
Кто-нибудь может помочь написать тест по психологии для iPad. Только начал знакомиться с XCode. С языком Objective C практически не знаком,...

VS 2010 Тест (Тест->Создать тест.->Модульный тест.) - Visual Studio
есть нечто подобное в билдере ? или вообще программа создающая тесты и на VS и на билдер и пр.? и с чего начать чтоб разобраться с этими...

Можно ли создать тест в программе My Test Student и запустить этот тест через Delphi? - Delphi
Здравствуйте! Мне нужна помощь! Я сейчас делаю курсовую, и мне нужно сделать тест, и я хотела бы узнать можно создать тест в программе My...

Тест На С# - C#
Нужно создать программу Тест на С#. Вотпрос и варианты ответов и в конце должно выводиться оценка за Тест. Я пока слабо могу представить...

Тест по С++ - C++
Привет всем! Большая просьба помочь решить тест по С++ Заранее огромное спасибо! Вариант 1 1) Какой диапазон значений имеет тип...

Тест - C++ Builder
Мне нужно сделать тестовую программу в которой возможны несколько вариантов ответа(напри: а,в,г или б,в). Ответы я закидываю в...

9
alexpac26
14 / 22 / 0
Регистрация: 20.01.2013
Сообщений: 125
28.04.2013, 23:14 #2
----------------------- Page 1-----------------------

Контрольная работа по спецкурсу

“Разработка приложений для платформы iOS”



Ф.И.О.:



1. Какие преимущества мобильное приложение имеет по сравнению с

приложением для настольного компьютера?


тем что оно работает на мобильном устройстве

2. Опишите принцип открытия-закрытия (OCP). Приведите пример

кода, удовлетворяющего OCP и пример кода, нарушающего этот

принцип.


NSString *s = @"hello world";
if (s) {
NSLog(@"%@",s);
} else {
NSLog(@"fail");
} // << ok

NSString *s = @"hello world";
if (s) {
NSLog(@"%@",s);
} else {
NSLog(@"fail");
// << нет закрытия !!!!!



----------------------- Page 2-----------------------

3. Опишите схему посылки сообщения объекту в Objective-C. За счёт

чего компилятор узнаёт адрес кода, который должен быть

выполнен при посылке определённого сообщения объекту? Каким

образом код выполняемого метода класса определяет, что нужно

работать с полями именно того объекта, которому было послано

сообщение?



o_O

Опишите схему посылки сообщения объекту в Objective-C

[myobject performSelector: @selector(mymethod:) withObject: @"Мои данные"];


За счёт чего компилятор узнаёт адрес кода, который должен быть
выполнен при посылке определённого сообщения объекту


передаваемое имя метода говорит ему где оно

что нужно работать с полями именно того объекта, которому было послано сообщение

практически ничего
, однако по правилам нужно описать протокол (абстракный класс) по которому объекты будут общаться


4. Объявите интерфейс класса “Окружность” с возможностью

подсчёта площади (файл Circle.h)

ну уж нет :D


----------------------- Page 3-----------------------

5. Чем плох следующий код?



Engine *engine = [Engine alloc];

[engine initWithCylinders: 7];

[engine start];


длинный код верно так:

Engine *engine = [[Engine alloc] initWithCylinders: 7];
[engine start];

ну и слово engine 100500 раз повторяется


6. Чему равен счётчик ссылок у объекта validator после выполения

следующего кода? Почему?

Validator *validator = [Validator new];

[validator retain];

Validator *validator2 = [validator copy];

[validator release];

ТруЪ программисты используют ARС


7. Когда освобождаются объекты, помещаемые в NSAutoreleasePool?

когда ARC увидит что их счетчик опустел и все ссылки на них = nil


----------------------- Page 4-----------------------

8. Какой код мог бы сгенерировать компилятор Objective-C для

метода set при выполнении директивы @synthesize age; если

свойство age объявлено как:

@property (nonatomic, retain) NSNumber *age;




-(void) setAge:(NSNumber*) age {
// bla bla
_age = [NSNumber numberWithInteger: 8];
}



9. Какие есть ограничения при определении категорий, расширяющих

уже существующие классы в Objective-C?


а вот это хз
формально пока сталкивался с тем, что нельзя сделать внутри свое strong property
хотя может не так сильно сталкивался поэтому не искал решение проблемы



10. Нарисуйте схему, характеризующую жизненный цикл класса

UIViewController


ну уж нет :D

*******************

кому интересно вот 2

----------------------- Page 1-----------------------

Контрольная работа по спецкурсу

“Разработка приложений для платформы iOS”



Ф.И.О.:



1. Приведите примеры приложений, которые лучше реализовать для

мобильной платформы, настольного компьютера и для которых

уместны обе версии.





2. Опишише принцип подстановки Барбары Лисков (LSP). Приведите

пример системы, нарушающей этот принцип.


----------------------- Page 2-----------------------

3. Опишите схему диспетчеризации сообщений при наследовании.

Если класс Circle является наследником класса Shape и в обоих

определён метод - (void) draw { ... }, что произойдёт при выполнени

кода:



Shape *shape = [Circle new];

[shape draw];



Что произойдёт, если draw в Circle не переопределён?

Что произойдёт, если draw не определён ни в Circle ни в Shape?



4. Объявите реализацию класса “Окружность” с возможностью

подсчёта площади (файл Circle.m)


----------------------- Page 3-----------------------

5. Приведите пример реализации метода initWithFrame в классе

наследнике UIViewController



6. Произойдёт ли ошибка в результате выполнения следующего

кода? Почему?



NSNumber *number = [[NSNumber alloc] initWithInt: 10];

NSMutableArray *array = [NSMutableArray arrayWithCapacity: 5];

[array addObject: number];

[number release];

NSLog(@”number = %i”, [number intValue]);



7. Чем плох следующий код, если отключена поддержка ARC?



- (void) viewDidAppear:(BOOL)animated {

classField = [NSArray arrayWithObjects: @”a”, @”b”, @”c”, nil];

}



- (IBAction) onButtonClick:(id)sender {

NSLog(@”Array size = %i”, [classField count]);

}


----------------------- Page 4-----------------------

8. В классе Cat объявлено поле NSNumber *age и свойство age:



@property (nonatomic, retain) NSNumber *age;



Разработчик компилятора допустил ошибку, в результате которой

метод set, генерируемый компилятором для age выглядит так :



- (void) setAge:(NSNumber*)_age {

[age release];

[_age retain];

age = _age;

}



Приведите пример пользовательского кода, подверженный

этой ошибке.



9. Зачем в Objective-C нужны категории? Приведите пример

использования.



10. Нарисуйте схему MVC применительно к iOS
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
29.04.2013, 00:54 #3
Цитата Сообщение от alexpac26 Посмотреть сообщение
2. Опишите принцип открытия-закрытия (OCP). Приведите пример

кода, удовлетворяющего OCP и пример кода, нарушающего этот

принцип.

NSString *s = @"hello world";
if (s) {
NSLog(@"%@",s);
} else {
NSLog(@"fail");
} // << ok
NSString *s = @"hello world";
if (s) {
NSLog(@"%@",s);
} else {
NSLog(@"fail");
// << нет закрытия !!!!!
обоже, скажи что ты шутишь и не будь идиотом...
прости за грубость но это уже ни в какие ворота...
слышал про SOLID разработку и 5 приципов гибкой разработки?

Принцип открытия-закрытия (OCP) гласит о том, что модули могут быть расширены, но не могут быть изменены, например статические\динамические библиотеки и т.д. можно унаследоваться или написать категории\расширения, но основной код модуля не может меняться, нарушением этого принципа будет переопределение методов модуля
как например, переопределение скрытых методов iOS SDK, чтобы внедрить какую-то свою фишку в приложение, за что, естественно, приложение не приймут в AppStore и так далее.


Цитата Сообщение от alexpac26 Посмотреть сообщение
5. Чем плох следующий код?
Engine *engine = [Engine alloc];
[engine initWithCylinders: 7];
[engine start];
длинный код верно так:
Engine *engine = [[Engine alloc] initWithCylinders: 7];
[engine start];
ну и слово engine 100500 раз повторяется
при чем тут слово engine 100500 раз повторяется??!
плох тем, что после alloc объект еще не готов к использованию, т.к. вся внутренняя инициализация просиходит в init и по ошибке можно начать работу с объектом, не инициализировав его как нужно


Цитата Сообщение от alexpac26 Посмотреть сообщение
6. Чему равен счётчик ссылок у объекта validator после выполения
следующего кода? Почему?
Validator *validator = [Validator new];
[validator retain];
Validator *validator2 = [validator copy];
[validator release];
ТруЪ программисты используют ARС
тру программисты отлично разбираются в MRR, а ARC используют чтобы меньше заморачиваться над посчетом ссылок

в итоге retain счестик объекта validator будет равен 1
Цитата Сообщение от alexpac26 Посмотреть сообщение
9. Какие есть ограничения при определении категорий, расширяющих
уже существующие классы в Objective-C?
а вот это хз
формально пока сталкивался с тем, что нельзя сделать внутри свое strong property
хотя может не так сильно сталкивался поэтому не искал решение проблемы
почему только strong??
нельзя добавить никакое проперти, а точнее - переменную
так же нельзя переопределять другие методы, но это только условность, вообще методы переопределять физически можно, но этого делать не следует, так как это вкорне меняет смысл расширения
Цитата Сообщение от alexpac26 Посмотреть сообщение
Разработчик компилятора допустил ошибку, в результате которой
метод set, генерируемый компилятором для age выглядит так :
- (void) setAgeNSNumber*)_age {
[age release];
[_age retain];
age = _age;
}
Приведите пример пользовательского кода, подверженный

этой ошибке.
должно быть так
Objective-C
1
2
3
4
5
- (void) setAge:(NSNumber*)_age { 
[_age retain];
[age release];  
age = _age; 
}
а пример, который подвержен этой ошибке прост:
self.age = self.age;
тогда мы сначала удалим объект, после чего ритейнить уже будет нечего, и бах

а вам, дорогой alexpac26, я бы посоветовал не писать подобную фигню, потому что только человека с толку сбиваете
1
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
29.04.2013, 11:41 #4
Кстати, в 7-м и 8-м пункте тоже дурь написана.
alexpac26, чем вас обидел этот несчастный dostalo? Зачем вы хотите, чтобы он завалился на экзамене?
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
29.04.2013, 14:31 #5
Цитата Сообщение от mobidevelop Посмотреть сообщение
Кстати, в 7-м и 8-м пункте тоже дурь написана.
да там по сути ни одного правильного ответа, даже влом все исправлять
парень либо действительно западло делает, либо просто ничерта не понимает, что пишет
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
29.04.2013, 15:12 #6
Vorona, вы несправедливы:
Цитата Сообщение от alexpac26 Посмотреть сообщение
1. Какие преимущества мобильное приложение имеет по сравнению с
приложением для настольного компьютера?
тем что оно работает на мобильном устройстве
0
alexpac26
14 / 22 / 0
Регистрация: 20.01.2013
Сообщений: 125
29.04.2013, 20:38 #7
vorona отличные комментарии.
направляете на путь истинный!!

Добавлено через 18 минут
слышал про SOLID разработку и 5 приципов гибкой разработки?
нет, спасибо почитаю
как же я раньше программы писал не представляю

http://igor.quatrocode.com/2008/09/solid-top-5.html
http://ru.wikipedia.org/wiki/SOLID_%...D0%B8%D0%B5%29
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
29.04.2013, 22:00 #8
Цитата Сообщение от alexpac26 Посмотреть сообщение
как же я раньше программы писал не представляю
если принцип открытия-закрытия - это пропущенная фигурная скобка да и судя по вашим ответам, то через жопу

если вы шутите, делайте это в другом месте, тут люди хотят услышать ответы на их вопросы, а не ересь
если же вы не шутите и это действительно ваш уровень знаний, то подучитесь немного прежде чем сбивать с толку людей своими ответами
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
30.04.2013, 15:57 #9
Цитата Сообщение от alexpac26 Посмотреть сообщение
ТруЪ программисты используют ARС
ТруЪ программисты знают как память работает
Цитата Сообщение от Vorona Посмотреть сообщение
нельзя добавить никакое проперти, а точнее - переменную
Ну насчет проперти - типа можно - objc_setAssociatedObject, но переменную да, нельзя.
0
alexpac26
14 / 22 / 0
Регистрация: 20.01.2013
Сообщений: 125
01.05.2013, 09:57 #10
ТруЪ программисты знают как память работает
ТруЪ программисты используют ARС, и знают как память работает.

из чего следует что писать без ARC надо уметь, но при любой возможности все же использовать ARC
без знания работы памяти ARC тоже использовать нельзя
0
01.05.2013, 09:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2013, 09:57
Привет! Вот еще темы с ответами:

Тест - JavaScript
Как сделать чтобы при выборе правильного ответа к переменной A прибавлялась единица!!! Предварительно есть такой код, но его нужно...

тест - C#
Хочу сделать тестовую оболочку. Как лучше (в каком формате) всего хранить базу вопросов и ответов?

1C 8.x Тест по 1С - 1С
Уважаемые форумчане, нужна Ваша помощь. Столкнулся с непростой ситуацией, нужно ответить правильно на вопросы по 1С. Почти все смог...

Тест - Администрирование Windows
Добрый день! Уважаемые админы, помогите с тестом. 1. В каком режиме современные ОС предоставляют прямой доступ к оборудованию? 1) В...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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