2013-07-25 71 views
2

我有一個問題...如何共享數據計數(在Coredata關係)

我的ViewCotroller夫婦(2)。

名稱是ViewControllerDetailViewController

DetailViewController有數據(在Coredata關係)。

這是DetailViewController的代碼。

NSSet *tags = self.bookInfo.details.tags; 
tagNamesArray = [[NSMutableArray alloc] initWithCapacity:tags.count]; 

for (Voca_Tag *tag in tags) { 
    [tagNamesArray addObject:tag.mean]; 
} 

我想用tagNamesArray.countViewController這一點。

還,我是用

DetailViewController *detailViewController = [[DetailViewController alloc]init]; 

[detailViewController.tageNamesArray count]; 

沒有奏效。

我想在UITableView上使用Count to cell.text。

pastebin.com/RwuR6PDt < <的ViewController pastebin.com/2F345vg7 < < DetaulViewController

PLZ檢查...

回答

1

你應該寫你的委託:在SecondViewController.H:

@protocol messageDelegate <NSObject> 
@optional 
-(void) sendDataCount:(NSInteger) i; 
@end 
@interface SecondViewController : NSString 
@property (nonatomic, assign) id <messageDelegate> delegate; 
@end 

在SecondViewController.m中:

-(void)readyToSend 
{ 
    [self.delegate sendDataCount:__YOURCOUNT__]; 

} 

在ViewController.h:

@interface ViewController : UIViewController<messageDelegate> 
@end 

在ViewController.m:在

- (void)viewDidLoad { 
SecondViewController *secondViewController = [[SecondViewController alloc] init]; 
secondViewController.delegate = self; 
} 
-(void) sendDataCount:(NSInteger) i 
{ 
    NSLog(@"Your Count = %d",i); 
    //send Data using POST method 
} 

希望這將有助於!

+0

對不起,這是行不通的。 我想使用UITableView上的Count cell.text –

+1

檢查你的步驟,它應該工作。對於替代品,你可以使用單身。 – user2545330

+0

messageDelegate無法在ViewCont.h中讀取 –

0

這是因爲tafNamesArray當時沒有內存分配,因此這個數組將返回零,並且其計數將爲零。

如果你想獲得[tafNamesArray數],首先調用該方法,用來初始化tafNamesArray,例如:

In DetailViewController 
    -(void)array 
    { 

    NSSet *tags = self.bookInfo.details.tags; 
    tagNamesArray = [[NSMutableArray alloc] initWithCapacity:tags.count]; 

    for (Voca_Tag *tag in tags) { 
     [tagNamesArray addObject:tag.mean]; 
    } 
    } 

    then In ViewController 

    call : 

    DetailViewController *detailViewController = [[DetailViewController alloc]init]; 
//First call this method 
    [detailViewController array]; 
//then this line will work 
    int i = [detailViewController.tafNamesArray count]; 
+0

It does not work,Sorry。 –