Как да получите uicontrols по техния ID в iphone dev среда

Тъкмо започвам да изучавам API на iphone и съм правил много програмиране за Windows и съм сигурен, че има начин, като се има предвид обектът, предаден на манипулатор на събития, да се идентифицира неговият идентификатор на обект или етикет или нещо подобно.

Създадох поредица от UIButton в създателя на интерфейса и всеки има идентификатор на обект. Но просто не мога да видя къде в API на iphone можете да получите този идентификатор от обекта UIButton.

Виждам, че всички се наричат ​​​​titleforstate, но това не работи за мен, защото всички имат една и съща титла. Или да поставя изображение в бутона и да използвам заглавието като ID?

Създателят на интерфейс има „идентификация на създателя на интерфейс“, до която предполагам, че нямам достъп от API на iphone, нали?

Има и настройка, наречена „Етикет“ в секцията „изглед“ на атрибутите на бутоните, но това е число. Това ще свърши работа, но не виждам никакво извикване на API, за да получа и това.

Просто се опитвам да разбера как да идентифицирам UI контрола по някакъв начин, различен от заглавието. Благодаря.


person stu    schedule 03.05.2009    source източник


Отговори (2)


той е наследен от NSObject, просто трябва да извикате variable.tag

person CiNN    schedule 03.05.2009
comment

Опитвам се да напиша PHP код, за да изтрия всички потребителски бисквитки в моя домейн.

Ето какво получих:

<?php
$domain = 'www.example.com';
$deleteExpiration = time() - 60*60*24*365*10; // 10 years ago
foreach (array_keys($_COOKIE) as $cookie) {
    setcookie($cookie, 0, $deleteExpiration, '/', $domain);
}

Изпълнението на този код на http://www.example.com/delete_cookies.php изтрива всички бисквитки които са зададени на сървъра, но не и бисквитки, които са зададени в JavaScript.

Проверих чрез диалоговия прозорец за бисквитки на Firefox, че проблемните бисквитки наистина са от (path=/; domain=www.example.com). Използвайки Live HTTP заглавки, мога да видя, че е изпратена следната заглавка:

Set-Cookie: CookieName=0; expires=Fri, 12-Mar-1999 19:36:15 GMT; path=/; domain=www.example.com

Така че вярвам, че командата setcookie работи според очакванията. Firefox просто не уважава заявката.

Едно допълнително нещо, което забелязах е, че ако задам бисквитка с domain=www.example.com на сървъра, тогава тя е посочена в диалоговия прозорец за бисквитки на Firefox с domain=".www.example.com", но ако задам следната бисквитка с помощта на JavaScript код, водещата точка не се добавя.

какво правя грешно Как мога да изтрия тези бисквитки?

- person stu; 04.05.2009
comment
stu, ако одобриш това като отговор, това ще помогне на други, които имат същия въпрос, да го намерят. - person willc2; 04.05.2009
comment
И в допълнение към това е удобният viewWithTag: метод на UIView. - person Dave DeLong; 20.08.2009

Предоставеният отговор работи добре за мен, но къде е документиран? Гледам NSObject Protocol Reference и там не се споменава атрибут или метод на етикет.

-(IBAction) buttonPressed:(id)sender {
    int tagNum = [sender tag];

[редактиране] Оказва се, че маркерът е в NSView, а не NSObject. Всичко, което наследява от NSView, има атрибут на етикет.

person progrmr    schedule 15.08.2009