установка переменной в CGPointMake

Как я могу установить переменную в CGMakePoint?

Я пробовал устанавливать и вызывать переменную следующими способами:

Я ожидал, что этот сработает.

float p0[] = {0, 100};

UIBezierPath *point = [[UIBezierPath alloc] init];
    [point moveToPoint:CGPointMake(p0)]; // this tells me I need two arguments

Неа!

float *p0 = CGPointMake(0, 100);

UIBezierPath *point = [[UIBezierPath alloc] init];
    [point moveToPoint:p0];

Не удалось!

NSObject *p0 = CGPointMake(0, 100);

UIBezierPath *point = [[UIBezierPath alloc] init];
    [point moveToPoint:p0];

Еще одна ошибка!

id p0 = CGPointMake(0, 100);

UIBezierPath *point = [[UIBezierPath alloc] init];
    [point moveToPoint:p0];

Пар для курса!

NSString *p0 = @"CGPointMake(0, 100)";

UIBezierPath *point = [[UIBezierPath alloc] init];
    [point moveToPoint:p0];

Я предполагаю, что я просто использую его как неправильный тип. Мне не обязательно устанавливать мою переменную = CGPointMake(0, 100), но мне нужно иметь возможность установить мою переменную на мои координаты = (0, 100).


person Old Name    schedule 26.05.2013    source источник


Ответы (2)


CGPoint myPoint = CGPointMake(10.0, 50.0);

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

Я обычно рекомендую книги Big Nerd Ranch Guide для начинающих, но я не уверен на 100%, что они начинаются с достаточного базового уровня для вас.

Это не означает оскорбление; просто как дружеский намек.

person fzwo    schedule 26.05.2013
comment
Это немного грубо. Я читал книги BNR и все еще учусь. Когда я учусь, легко упустить некоторые простые вещи, но, как вы можете видеть ниже, я понял это сам. Как летный медик, я очень хорошо разбираюсь в кардиологии и вентиляции, и очень простые принципы для меня могут быть очень сложными для новичка. Пожалуйста, помните, что нам всем нужно было с чего-то начинать, и критика новичка за то, что он задал простой вопрос, на самом деле ничего не даст. Я всегда стараюсь искать свой ответ, прежде чем задавать вопрос, но иногда важно знать, что искать. - person Old Name; 26.05.2013
comment
К вашему сведению ... Я никогда даже не смотрел на Objective-C до двух месяцев назад и, к сожалению, в то время даже не понимал C. Так что я чувствую себя довольно хорошо о том, где я пришел через два месяца. Я ценю вашу помощь, хотя. Пожалуйста, будьте терпеливы со мной, пока я учусь. Книги Ника Смита по Xcode Primer стали отличным ресурсом для таких новичков, как я. До тех книг БНР, где даже выше моей головы. - person Old Name; 26.05.2013
comment
@ShannonBuckland Я не хочу говорить за fzwo, но его совет благоразумен. Это не критика в ваш адрес. Но его предложение превосходно. Если вы спотыкаетесь о что-то настолько фундаментальное, вас ждет долгая и тяжелая работа с множеством фальстартов и плохо разработанных приложений. Воспользуйтесь замечательными учебными материалами. Вы будете говорить себе о месяцах неудачных попыток, если у вас есть один или два ресурса по программированию (например, онлайн-курс Стэнфорда, доступный бесплатно на iTunes, или любой из дюжины других учебных источников, таких как книги Big Nerd Ranch Guide) . - person Rob; 26.05.2013
comment
Спасибо @Rob за ваш отзыв и помощь в направлении. Я прочитал три учебника Ника Смита по xCode, и они оказались отличным ресурсом. Я также прочитал книгу Big Nerd Ranch «Программирование iOS». В настоящее время я также прохожу курс Стэнфорда. Я понимаю, что это был базовый вопрос, но я задаю вопросы, потому что хочу как следует изучить то, что делаю. Я чувствую, что люди иногда предполагают, что, поскольку вопрос был базовым, кто-то не приложил должной осмотрительности, чтобы попытаться найти ответ с помощью других ресурсов, прежде чем публиковать на бирже стека. - person Old Name; 27.05.2013
comment
@ShannonBuckland Отлично, похоже, вы проводите обучение и исследования, которые должны быть. К сожалению, такого рода вопросы исходят от людей, которые прыгают в глубокую часть бассейна, не научившись сначала плавать, а мы просто пытаемся помочь людям не утонуть. Если мы слишком быстро предположили, что вы относитесь к этой категории, я прошу прощения, но, надеюсь, вы понимаете, что руководство исходило из лучших побуждений. Мы все были там в тот или иной момент нашей карьеры, и мы просто хотели помочь. - person Rob; 27.05.2013
comment
Просто чтобы прояснить это: @ShannonBuckland, я вовсе не пытался быть злым. Я просто подумал, что скорее буду полезен, чем откажусь от конструктивной критики из ложного чувства вежливости. Я думал, что ясно дал понять. - person fzwo; 27.05.2013
comment
Нет, ты был в порядке. Перечитав ваш пост, я понял, что он был конструктивным и уместным. Я просто подпрыгнул, потому что ожидал, что меня раскритикуют за такой простой вопрос, поэтому я уже занял оборонительную позицию. Прошу прощения за поспешные выводы и оборонительную позицию. - person Old Name; 27.05.2013

Я был прав... Я указал свою переменную как неправильный тип. Как только я установил его на CGPoint, он заработал, как и ожидалось.

CGPoint p0 = CGPointMake(0, 100);

UIBezierPath *point = [[UIBezierPath alloc] init];
    [point moveToPoint:p0];
person Old Name    schedule 26.05.2013
comment
ха-ха, ты был неправ, но прав. верно! Я думаю, вы должны были принять другой ответ, поскольку он был правильным, и он нашел время, чтобы помочь вам, а также дать вам отличное предложение. ваше здоровье - person prototypical; 09.10.2013