ݺߣ

ݺߣShare a Scribd company logo
`ȥåפiOSץ
UIץ쥤Ԓ
ԼB
 h
 šs
 ԪSIer 6꤯餤
 Java/PHPᥤ NW/`ИBƤȤ
 ʽ LifeSports 2018/3 -
 iOS󥸥˥/Android󥸥˥
 Ȥζ
 å`/եåȥä (Lĩκ⥵å`Q
S)
ݩ`Ĥꤿͬʿޥå
󥰤륢ץ
ios9/19
˥``
android10/14
˥``
LifeSportsUI˥`
iOSץUIץ쥤Ά}
 API˘o...
 ``Ҋʤ狼ʤ
 (Ԥ줬ۤȤ)
 zߤ
?
?
Τä?
 iOSץUIץ쥤Ф...
 Apikit ?? Decodable ز辱ܤ䤨
 󲹳٤ʱɰDzԳٰDZȑä
 ˼褤ʤƿ餷
Apikit ?? Decodable ز辱ܤ䤨
Apikit ?? Decodable apiܤ䤨
 Alamofire  ObjectMapper
 Apikit  Decodable
Apikit ?? Decodable apiܤ䤨
 Alamofire  ObjectMapper
??ɤǤʤǤǤ
?ɤAPIx֤

?ᥤ󥹥åɤӤ
 Apikit  Decodable
??request/response
xһĿǤ狼
?xͨAPIä
ʤȥ`
Apikit ?? Decodable apiܤ䤨
class func recommendList(_ filterString: String, pageIndex: String, lat: Double?, lng: Double?) {
var para = Json()
let sportIds = Sport.allFavorited()
if let cityID = City.getCityId() {
para.update(["city_id": cityID])
} else {
if let city = User.me()?.city {
para.update(["city_id": city.id]
}
}
if let lat = lat, let lng = lng {
para.update(["lat": lat, "lng": lng])
}
 ꥯȤֱǰ˥ꥯȤ݉䤨Ǥ
Apikit ?? Decodable apiܤ䤨
struct EventRecommendGetRequest: APIRequest {
let type: EventRecommendType // ꥯȤ˱Ҫ󤿤
let cityId: Int
let sportIds: [Int]
let page: Int
let lat: Double?
let lng: Double?
let apiToken: String?
typealias Response = EventRecommendGetResponse
let method: APIKit.HTTPMethod = .get
var path: String {
return "/v2/me/event/recommend"}
}
var queryParameters: [String : Any] = ["city_id": cityId,"type": type.value,"page": page]
}
 ꥯȤȥ쥹ݥ󥹤򤷤ä궨xǤ
Apikit ?? Decodable apiܤ䤨
struct EventEntity: Decodable {
let title:String <-Ŀ if let ʤʹ䤹
let user:UserEntity //ļ
/// μ ļߤäƤ
let users:[UserEntity]
let id:Int
// ʩO
let facility:FacilityEntity?
// λ
let meetingPlaceLat:Double? <-Ŀ nullжҪ
let meetingPlaceLng:Double?
}
 ꥯȤȥ쥹ݥ󥹤򤷤ä궨xǤ
󲹳٤ʱɰDzԳٰDZȑä
??1000нγǻ??
󲹳٤ʱɰDzԳٰDZȑä
FatviewControllerȤϣ
? I׷ˤiߤˤ
? ɤӳViewControllerʤΤҊʤȷ֤
ʤ
? վɰDzԳٰDZ񤬴󤭤
󲹳٤ʱɰDzԳٰDZȑä
ä
? I׷ˤiߤˤ
->xibեʹäƼView֤?
->ͨIʤɤextention
? ɤӳViewControllerʤΤҊʤȷ֤
ʤ
->viewControllerinitI?
? վɰDzԳٰDZ񤬴󤭤
->ֱޤQǤƤʤ...?
xibեʹäƼView֤?
 UIĤʄϤ줾
Viewί
 ǩ`ȡؤλ
ViewControllergʩ
ͨIʤɤextention?
extentionǺӳok
UITextFieldʹäƤФĤǤ
ӳ
viewControllerinitI
ڻIȕƤʤ... ?
viewControllerinitI
ڻIȕƤʤ... ?
viewControllerΉ˴뤹ȤԤ...
viewControllerinitI
ӳ䤹?
󲹳٤ʱɰDzԳٰDZȑä ޤȤ
FatviewControllerȤϣ
? I׷ˤiߤˤ
? ɤӳViewControllerʤΤҊʤȷ֤
ʤ
? վɰDzԳٰDZ񤬴󤭤
˼褤ʤƿ餷
ļԔ
 ļߤɤļ_
դμߤʤɤҊ뻭
ļԔ
UIץ쥤ǰ΃W
ϤviewäƤääƤ
ФǤǤ硹
ļԔ
UIץ쥤ǰ΃W
ϤviewäƤääƤ
ФǤǤ硹
٩`ȤʤViewɤΤ褦
뤫Q٤ä..
ļԔ
TableViewCell
tableviewFooterView
tableviewHeaderView
TableView٩`
Top
 󤷤rҊ
뻭
 ީ`ȥ˥`LUI
Top
UIץ쥤ǰ΃W
scrollview  collentionView 
tableviewController
νMߺϤ碌Ф
Top
xkr΄
䥹饤/磻וr
ӤһΤϬF
gĤǤϟo..
UIץ쥤ǰ΃W
scrollview  collentionView 
tableviewController
νMߺϤ碌Ф
Top
饤֥ʹ
https://github.com/kitasuke/
PagingMenuController
(_kƤʤ)
tableviewFooterViewTableViewCell
tableviewHeaderView
PagingMenu
Controller
˼褤ʤƿ餷 - ޤȤ
 R귵ĿϡTableview٩`ˤβ֤
TableHeaderView/TableFooterViewLJ줦ȤǤ褽UIόgF
 }jUI/UXgFϤϡ饤֥ʹäۤȤ⡣
 ߤʹ٤Ǥϟo
 UIҪȤˤäƤϤ̶
 նΤUIäۤ⣿
ꤿ
 MVVMRxʤɤOӋ_kҊ
 S_kǤʤʤǤ⤤..
 ȘIίӚäˤˤäƤ餦趨
 UIɤ
 ǥˤʤȥĥ
 Է֤εUI򤤤Ĥ֤äȤ٤
 Է֤жϤ֤ʤ
 iOS󥸥˥ˤҊ„褦ˤƤ

More Related Content

`ȥåפǾץαץ쥤