-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Team07 - BMO & ZG] 기본 UI 및 Entity 구현 #12
base: team-07
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
기본 UI만 맞추기 위해 대략적인 객체 흐름을 잡기위해 그런거 같긴한데, 생성자로도 외부에서도 프로퍼티들을 접근하는 방법이 없어서 감이 잡히지 않네요.
super.init(coder: coder) | ||
} | ||
|
||
override func loadView() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
loadView의 라이프사이클을 다시 확인해보세요.
아래 코드중에 loadView타이밍에 처리해야되는 코드는 없어보입니다.
private var tempInt: Int = 0 //뷰가 추가되는 효과를 보기 위한 임시 변수 | ||
|
||
func isAttack(myTeam: MyTeam) -> Bool { | ||
return myTeam.Value == InningInfo().attackTeam |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
InningInfo 가 struct던데 비교할때마다 매번 객체를 생성해서 비교하나요?
|
||
import Foundation | ||
|
||
struct InningScore: Decodable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
프로퍼티가 전부 private이고 init시점에도 값을 못 넣는데 이 객체가 원하는 의도를 잘 수행할지 의심이 되네요
case Home | ||
case Away | ||
|
||
var Value: String { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
calculated property도 프로퍼티이기 때문에 대문자로 시작하는건 일반적인 컨벤션에 어긋납니다
|
||
import Foundation | ||
|
||
struct Pitcher:Decodable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이것도 모두 감춰져있어서 어떤 용도로 사용하는지 감이 안오네요
//storyBoard!! | ||
required init?(coder: NSCoder) { | ||
super.init(coder: coder) | ||
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(didTapCell(_:))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
didTapCell 뒤의 (_:)
는 삭제해도 될거 같은데 확인해보세요
private var delegate: GameSelectViewControllerManageable! | ||
|
||
override init(frame: CGRect) { | ||
super.init(frame: frame) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
같은 initializer인데 이 방식에선 tapGesture가 필요 없나요?
@IBOutlet weak var awayLabel: UILabel! | ||
@IBOutlet weak var gameNumber: UILabel! | ||
|
||
private var delegate: GameSelectViewControllerManageable! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
initialize 시점에 할당되지 않는 프로퍼티엔 강제 언래핑 방식을 사용하지 않는 것을 추천합니다. set 함수가 불리기전에 다른 함수가 불려서 delegate에 접근하게된다면 앱 크래시가 유발되기 때문입니다.
|
||
class PitchingHistoryDataSource { | ||
|
||
private var dataSource: UITableViewDiffableDataSource<String, String>! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기에서도 setupDataSource가 호출되기 전에 applySnapshot 이 불리면 앱 크래시를 유발합니다. 순서를 맞춰야 동작하는 방식은 위험합니다.
Be/feature/#12/data jdbc dependency : Spring Data JDBC의존성 추가 및 스키마 작업
Temporary branch merge
* Update README.md * Update README.md * Update README.md * docs: FE 초기 폴더구조 * feat: 리액트 기본 환경 설정 * feat:[#3] teamSelect 폴더구성 및 Component 제작 중 * chore * feat : [#5] teamScore 폴더 제작 및 TeamScore Component 제작 완성 * feat: [#3] TeamSelect 초기 버전 제작 완성 및 추가 설정 - Styled-components의 ThemeProvider 적용 - 디렉토리 구조 일부 변경 * chore: .DS_Store 제거 * feat: [#11] GamePlay 컴포넌트 구조 설계 완료 - GamePlay 컴포넌트 CSS 정의 (프로토타입) - GamePlay 컴포넌트를 구성하는 모든 파일 생성 - 기능은 없음 (파일만 생성함) - App.js의 GlobalStyle 수정 - 전역으로 수직 / 수평 가운데 정렬 * feat: [#12] GamePlay - GameScore 컴포넌트 완성 (프로토타입) * feat: [#14] GamePlay - MatchScreen 컴포넌트 완성 (프로토타입) * feat: SituationScreen 프로토타입 완성 및 router 적용 - react router dom 활용 - 존재하지 않는 페이지 임시 생성 * chore: 일부 폴더 구조 변경 (TeamScore, TeamSelect) * refactor: [#24] 전체적인 CSS 보정 및 GamePlay 부분 전반적으로 수정 * feat: [#26] GamePlay - BattleGround 프로토타입 완성 * feat: [#30] Proxy 설정 및 TeamSelect API 적용 작업 중.. * feat: [#28] PlayerListPopup 프로토타입 완성 및 일부 네이밍 변경 - 일부 네이밍 변경 - TeamScore -> TeamScorePopup * style: [#28] PlayerListPopup의 Style 변경 & theme.js 일부 속성 제거 - PlayerListPopup의 StyledPlayerListPopup의 CSS 변경 * feat:[#30] API 적용 * chore * feat: [#33] 재사용 되는 PopupFrame 생성 (초기버전 & 활용) - 이 PopupFrame 컴포넌트를 활용하여 PlayerListPopup & TeamScorePopup 컴포넌트 디자인 변경 - TeamScorePopup는 테이블과 전체적 스타일 변경 필요 * feat: [#35] GamePlay BattleGround Animation 추가 * feat:[#35] 애니메이션 수정 * feat: TeamScorePopup 디자인 전체적 변경 및 임시 팝업 기능 * feat: [#40] GamePlay Component API 조작중 * feat: [#41] Popup 컴포넌트들 애니메이션 적용 및 Context 생성 & 일부 구조 변경 * feat: ([#40] 과는 거리가 먼) OAuth를 위한 Login 관련 컴포넌트 생성+ - 일부 Context에 useReducer로 적용 * feat: [#45] GameScore & MatchScreen 데이터 활용하여 표시 - 라이언 아이콘의 State도 GamePlayProvider로 이동. * feat: Oauth Login 구현 * feat: [#45] Ball, Strike, Out Count 컨트롤 (Pitch 버튼 클릭 시) - 초기 타입 * feat: [#45] BattleGround 컴포넌트 데이터 핸들링 (1) - BattleGround - GameScore: 득점 시 점수 변화 - Round: Round 상태 변화 - MatchScreen: 상황에 따라 선수 데이터 변경 - 대체적으로 GamePlayProvider와 BattleGround, GamePlay가 주로 수정되었습니다 * feat: table API 적용 * feat: 안타 or 아웃에 따라 PUT 요청, 점수판 관련 API 요청은 진행중 * chore * chore: Add background Co-authored-by: dudn1933 <[email protected]> Co-authored-by: leehangeul <[email protected]>
작업 내용
고민과 해결