iOS2012. 10. 18. 16:32

그냥 좀 간단한 list 같은 object 는 없나요?  tableview 가 생각보다 처음 쓰기에 복잡하네요.

지금 전 하나의 view 에 2가지 독립된 data 리스트를 보여주고 각각 입력하고 삭제하고 그런 일을 하려고 하는데요.
그래서 2개의 NSMutableArray를 만들어서 data 를 처리해서 첫번째 tableview 에는 잘 연결되서 제가 원하는 데로 작동합니다.
근데 두번째 tableview에는 연결하려고 하는데 잘 모르겠어요.

인터페이스로는 그냥 UIViewController 를 쓰고 있구요. UITableViewController 는 안씁니다.

어떻게 하는지 좀 구체적으로 설명해주면 저같이 얼마 안된 iphone 개발자에게 너무 도움이 많이 될꺼 같아요.

감사합니다.


자답: 
이런식으로 하니 되네요.

tableview 함수에 
if(tableviwe == myTable1){
  //처리
}else if(tableviwe == myTable1){
  //처리
}



Posted by 다오나무
iOS2012. 6. 20. 19:07

일반적인 경우라면 iOS에서 기본적으로 제공하는 Cell Type을 통해 구현이 가능하지만, 특별히 사용자가 디자인한데로 cell을 만들어 사용하는 방법도 있다. Interface Builder를 통해 cell xib를 만들어 customize 한 cell을 만들어 보자.

1. 프로젝트를 생성하고 "UITableViewCell" 을 상속받은 Objective-C 클래스를 생성한다.



2. Custom Cell을 꾸밀 xib파일을 생성한다.(일반적으로 objective-c 클래스 파일 이름과 xib이름을 동일하게 - CustomCell이라고 - 만든다)

3. xib파일을 열어 우측 하단의 library에서 "Table View Cell"을 끌어다 놓는다. 끌어다 놓은 Table View Cell을 선택하고"Identity Inspector" 창에서 Custom Class를 위에서 만든 Objective-c Class인 "CustomCell"로 지정한다.

 4. xib에 구성하고 싶은 UI들을 올려놓고 "CustomCell class"에서 IBOutlet을 이용하여 UI component들과 연결을 한다.
 
5. TableView를 사용하기 위한 기본설정을 한다. 기본적인 내용은 여기에서 확인하면 된다.

6. ViewController.h에 TableView에 넣을 NSArray형태의 데이터를 @property로 선언하고 @synthesize로 선언한다.
 //ViewController.h
@property (retainNSMutableArray *products;
//ViewController.m
@synthesize products; 
 
 
7. 테이블에 들어갈 내용이 상품정보임으로 상품정보를 가지고 있을 Objective-C클래스(domain object)를 만든다.(이름은 Product라는 이름으로 만든다.)
 
 
8. CustomCell에 Product를 넘기면 Product의 property값을 CustomCell에 set해주는 method를 만들어 준다.

9. TableView 사용시 구현해야할 delegate method들을 구현한다.
 

 [실행 결과]

Posted by 다오나무
영삼이의 IT정보2012. 6. 14. 15:18

ViewController 위에 TableView를 올렸을 때 에러나는 이유


뷰 컨트롤러에 테이블뷰를 올리고 나서

스크롤을 아래로 내리면 에러나는 경우는


ChattingViewController *chattingViewController = [[ChattingViewController alloc] initWithNibName:@"ChattingViewController" bundle:nil];


위에처럼하지말고


아래처럼 .h파일에다가 먼저 선언을 해주고 아래처럼 구현해야 한다.

    chattingViewController = [[ChattingViewController alloc] initWithNibName:@"ChattingViewController" bundle:nil];

Posted by 다오나무