как использовать метод делегата приложения в iphone - PullRequest
0 голосов
/ 25 ноября 2010

Я попытался передать значение метки из одного представления в другое. У меня есть представление таблицы и табличное представление, чтобы поставить метку. код ......

например

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{


 NSString *CellIdentifier = [NSString stringWithFormat:@"%i %i",indexPath.row,indexPath.section];


    UITableViewCell *cell =[self.tableViewdequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
 {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifier] autorelease];

  cell.accessoryType = UITableViewCellAccessoryNone;

  NSMutableArray *arr=[NSMutableArray arrayWithArray:[finalArray objectAtIndex:indexForAll]];
  NSLog(@"-=-=  arr count %d  -=-====",[arr count]);
  NSLog(@"%@",[[arr objectAtIndex:indexPath.row]description]);
   NSLog(@"-======  row  value  %d -=======",indexPath.row);

NSLog(@"--=-=--- strike value %@",[[arr objectAtIndex:indexPath.row]valueForKey:@"Strike"]);

//indexForAll=indexPath.row

cell.accessoryType = UITableViewCellAccessoryNone;

cell.highlighted = YES;

 NSMutableArray *arr2=[NSMutableArray arrayWithArray:[arr objectAtIndex:indexPath.row]];

NSLog(@" -=-=-=-= Arr2 value : %d ",[arr2 count]);

 NSLog(@"%@",[arr2 description]);

//.......................................Strike value.....................................//
  UILabel *label1;
  label1 =[[UILabel alloc]initWithFrame:CGRectMake(10, 3,50, 15)]; 

  NSLog(@"-=-=--= lable1  value  -%@",[[arr2 objectAtIndex:0]valueForKey:@"Strike"]);

[label1 setText:[NSString stringWithFormat:@"%@",
  [[arr2 objectAtIndex:0]valueForKey:@"Strike"]]];

  label1.textAlignment = UITextAlignmentCenter;

  [label1 setFont:[UIFont fontWithName:@"Helvetica" size:12]];

  [label1 setTextColor:[UIColor blackColor]];

  [cell.contentView addSubview:label1];

  NSLog(@"lable1 addded");

  [self.tableView reloadData]; 

Я хочу, чтобы значение label1 получило другое представление. У меня был трид, но даже не успех. Если помог спасибо

я пытался такие

AppDelegate_iPhone *appDelegate = (AppDelegate_iPhone *)[[UIApplication sharedApplication] delegate];

но значение не передано.

Ответы [ 2 ]

0 голосов
/ 25 ноября 2010

Код для CurrentViewControllerHavingTableView

Привет, попробуйте сделать свойство вашего UILabel и синтезировать его в файле .m

@property (nonatomic,retain) UILabel *label1;

@synthesize label1;

Now make an object of your current view in the calling class like this


Code for Calling Class

CurrentViewControllerHavingTableView *viewController = [[CurrentViewControllerHavingTableView alloc] initWithNibName:@"CurrentViewControllerHavingTableView" bundle:[NSBundle mainBundle]];

Make a UILabel *label2;

label2.textlabel.text=viewController.label1.textlabel.text;

Это наверняка сработает для вас.

0 голосов
/ 25 ноября 2010

Создайте свойство типа Nstring в appDeleagate, предположив NSString * labelText;

и сейчас

AppDelegate_iPhone *appDelegate = (AppDelegate_iPhone *)[[UIApplication sharedApplication] delegate];

In this class where you set this property.

Now before this line

--->[label1 setText:[NSString stringWithFormat:@"%@", [[arr2 objectAtIndex:0]valueForKey:@"Strike"]]];

set that property of appDelegate.
appDelegate.labelText=[NSString stringWithFormat:@"%@", [[arr2 objectAtIndex:0]valueForKey:@"Strike"]];

А теперь, где вы хотите использовать это свойство, создайте объект appDelegate и получите доступ к этому свойству с помощью. оператор.

Это определенно поможет вам, если вы будете правильно выполнять.

...