Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > iOS > объявление переменных


Автор: 6azbljlb 28.4.2011, 16:02
возникла проблема описал переменные в h файле 
Код

@interface pro1ViewController : UIViewController {

        char *words[5][5]; //table letters
    @private
        NSMutableString *str;
        
    }

при написании функций в m  файле пишет что не объявлена переменная words, почему так???
Код


bool IsNearLtr(int h, int w)
{
    bool res = false;
        
    if (InField(h+1,w))  res = words[h+1][w]!="";
    if (InField(h-1,w))  res = res || words[h-1][w]!="";
    if (InField(h,w+1))  res = res || words[h][w+1]!="";
    if (InField(h,w-1))  res = res || words[h][w-1]!="";
    
    return res;
}



Автор: Sartorius 28.4.2011, 16:06
Потому что это функция C, а не ObjC метод

Автор: 6azbljlb 28.4.2011, 16:16
это я знаю..но как то же можно получить доступ к вордс ???

Добавлено через 5 минут и 38 секунд
или нужно переписать функции на обж???
Код

-(bool) IsNearLtr: (int) h  width:(int) w
{
    bool res = false;
    //pro1ViewController.words[0][0]=@"q";
    
    
    if (InField(h+1,w))  res = words[h+1][w]!="";
    if (InField(h-1,w))  res = res || words[h-1][w]!="";
    if (InField(h,w+1))  res = res || words[h][w+1]!="";
    if (InField(h,w-1))  res = res || words[h][w-1]!="";
    
    return res;
}

Автор: Bitter 30.4.2011, 00:34
Си функция вне класса должна обращаться к words через объект класса pro1ViewController.
Функции методы описываются только языком обж-си

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)