2012-01-13 3 views
0

CatsTableViewController.hвызова INT переменной из другого контроллера представления

@interface CatsTableViewController : UITableViewController { 
    NSMutableArray *categoriesArray; 
    int catInt; 
} 
@property int catInt; 
@end 

я синтезировал его в моей CatsTableViewController.m и я #import "CatsTableViewController.h" в представлении, что я хочу назвать эту Int в (CodesTableViewController.m).

Подробная информация:

Это ИНТ отслеживание массива, который необходимо загрузить в CodesTableViewController.m «s TableView. Оператор if помогает приложению определить, какой массив рассчитывается для использования на numberOfRowsInSection и в каком массиве использовать значение cellForRowAtIndexPath.

Так что я задаю вопрос, как задать эту переменную из другого View?

ответ

1

Вы можете также рассмотреть вопрос об использовании NSUserDefaults для хранения этого int значения.

NSUserDefaults Class Reference имеет всю информацию, чтобы вы начали. В дополнение к богатству информации там, вот простой пример того, как сохранить и извлечь int (это работает, а также для float, BOOL, NSString, NSDate, NSData, NSArray):

-(void)saveToUserDefaults:(int)myInt 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 

    if (standardUserDefaults) { 
     [standardUserDefaults setInt:myInt forKey:@"catInt"]; 
     [standardUserDefaults synchronize]; 
    } 
} 

-(int)retrieveFromUserDefaults 
{ 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    int val = 0; 

    if (standardUserDefaults) 
     val = [standardUserDefaults intForKey:@"catInt"]; 

    return val; 
} 
+0

Я закончил используя NSUserDefaults для передачи переменной. NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject: catNum forKey: @ "catNum"]; [defaults synchronize]; 'Это устанавливает передачу var, и это извлекает его : 'NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; NSString * catNum = [defaults objectForKey: @" catNum "]; catNumLocal = catNum;' Спасибо, что поставил меня на правильный путь. –

0

Если у вас есть ссылка на экземпляр класса CatsTableViewController, например, по имени catsController, то вы можете просто позвонить:

int localCatInt = [catsController catInt]; // your array index 
+0

Я действительно не уверен, как сделать ссылку на экземпляр класса CatsTableViewController. Я попытался «CatsTableViewController» catsController = [[CatsTableViewController alloc] init], но мне это не помогло. –

+0

Я не знаю отношений между 'CatsTableViewController' и' CodesTableViewController', поэтому я не мог вам помочь – Nekto