2012-04-02 16 views
0

私はiPhone開発に比較的新しいので、スクロールビューにuitableviewを追加しようとしましたが、Sigabartエラーが表示されてしまい、プログラムに追加してuitableviewdelegateとuitableviewデータソースを追加し、 'noOfRowsInSection'メソッドを追加すると、delgateメソッドは呼び出されません。スクロールビューでテーブルビューを追加する

@interface Class : UIViewController<UITableViewDelegate,UITableViewDataSource> { 
    UITableView *table; 
    UIScrollView *scrView; 
    NSArray *array; 
} 
@property (nonatomic, retain) IBOutlet UIScrollView *scrView; 
@end 

here is my implementation 

- (void)viewDidload 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self ; 


} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [array count]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
    return cell; 

} 

@end 

私はインターフェイスビルダーしかしスクロールビューを追加することですが、私はmatically TABLビューが画面に表示されるテーブルビューPROGRAをしていますが、方法は、あなたがして、あなたのコードを配置している

+1

コードとデリゲートメソッドを表示してください:)あなたはinterfacebuilderで接続しましたか? あなたのコンソールがsigbartで表示するエラーは何ですか? –

+0

これには、問題のコードなしではほとんどデバッグが不可能な原因が多数あります。 – mydogisbox

+0

サイドノートでは、UITableViewはUIScrollViewのサブクラスです。したがって、標準的な垂直スクロールだけが必要な場合は、単にUITableViewを使用してください。 – cobbal

答えて

3

第一:あなたが代わりのviewDidLoadのviewDidUnloadを使用している、

第二:tableview.dataSource = selfを追加し、データソースデリゲートメソッドを実装します= )

データソースの代わりにデリゲートを使用しています=)

+0

ありがとうございました。私はそれを見ただけでロードしましたが、私はそれを解決したself.Adiingにtable.datasourceを追加しませんでした。 – SreeHarsha

+0

時々そのシンプル=) 私は助けることができてうれしい。 –

1

と呼ばbeeingていませんviewDidUnload方法。 viewDidLoad

- (void)viewDidUnload 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self ; 
} 

にこのコードを移動すると、このことが必要です。

- (void)viewDidLoad 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self; 
    table.dataSource = self; 
} 
+0

私はあなたがコードを尋ねたので、私はそれを行っただけで、コードを尋ねましたが、私のアプリケーションでは、私はクラスを作成し、それをviewdidunloadに誤って貼り付けたことを示すために、 – SreeHarsha

+0

私の答えを読んで:-)あなたはデータソースを設定するのを忘れてしまった。 –

関連する問題