๋์ค์ ์ฐธ๊ณ ํ๋ ค๊ณ ์ ๋ ๊ธ
ํด๋์ค ์ ์์ ์ฒดํฌํ ์ ์๊ฒ ๋์(?)
๋๋์ด
Notification์ ์ฐ๊ธฐ๋ก ํ๋ค!
์ RxRxํ๋์ง ์๊ฑฐ ๊ฐ๋ค... ใ ใ ใ
1. Notification ๋ฑ๋กํ๊ธฐ
NotificationCenter.default.addObserver(self,
selector: #selector(updateDateLabel(_:)),
name: .updateYearDate,
object: nil)
NotificationCenter.default.addObserver(self,
selector: #selector(updateHour(_:)),
name: .updateHour,
object: nil)
NotificationCenter.default.addObserver(self,
selector: #selector(updateMin(_:)),
name: .updateMin,
object: nil)
์ฐ์ ๋ค๋ฅธ ๊ณณ์์ ๊ฐ์ ๋ฐ์์์ ์์ ํด ์ค ๋ทฐ์ ๋ฑ๋กํด ์ฃผ์! viewDidLoad์๋ค๊ฐ ์ ์ํด ์ฃผ๋ฉด ๋๋ค.
์ด๋ name์๋ค๊ฐ ๊ฐ ๋ ธํฐํผ์ผ์ด์ ์ด๋ฆ์ ์ ์ด ์ฃผ์ด์ผ ํ๋๋ฐ ์๋๋ Notification.Name("๋ ธํฐํผ์ผ์ด์ ์ด๋ฆ") ์ด๋ฐ ์์ผ๋ก ๋ค์ด๊ฐ๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๋ ธํฐํผ์ผ์ด์ ์ ๋ณด๋ด๋ ์ชฝ์๋ ์ด๋ ๊ฒ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ๋ณด๊ธฐ๋ ์ด๋ ต๊ณ ์ด๋ฆ์ ๋ฐ๊ฟ๋ ค๋ฉด ๋ฑ๋กํ๋ ๊ณณ ๋ณด๋ด๋ ๊ณณ ๋ ๋ค ๋ฐ๊ฟ ์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ์ถํ ๊ด๋ฆฌ๋ ์ด๋ ต๊ฒ ๋๋ค. ๊ทธ๋์ NSNotification.Name ์ extention์ผ๋ก ๋นผ์ฃผ๋ฉด ๋๋ค!
TA DA~
extension NSNotification.Name {
static let updateYearDate = Notification.Name("updateYearDate")
static let updateHour = Notification.Name("updateHour")
static let updateMin = Notification.Name("updateMin")
}
2. ๋ฉ์๋ ๊ตฌํ
Objective C์ ํ์ ์ ๊ฐ์ง ๋ฉ์๋
dictionaryํ์ ์ userInfo๋ก ๊ฐ์ ๋ณ๊ฒฝํ๋ค.
extension ViewController {
@objc func updateDateLabel(_ notification: NSNotification) {
if let txt = notification.userInfo?["date"] as? String {
self.lblYear.text = "\(txt) "
}
}
@objc func updateHour(_ notification: NSNotification) {
if let txt = notification.userInfo?["hour"] as? String {
self.lblHour.text = "\(txt) "
}
}
@objc func updateMin(_ notification: NSNotification) {
if let txt = notification.userInfo?["min"] as? String {
self.lblMin.text = "\(txt) "
}
}
}
3. notification post
์ด์ ๋ ธํฐํผ์ผ์ด์ post๋ฅผ ์์ฑํ์!
NotificationCenter.default.post(name: .updateYearDate, object: nil, userInfo: dateTxt)
์ด๋ ๊ฒ ์์ฑํด ์ฃผ๋ฉด ๋๋ค
๊ฐ๋์ ์ถ์ด ์ฐธ ์ ๊ธฐํ๋ค
1๋ ์ ๋ง ํด๋ ํ๊ณผ ์ ํ ๋งค์ง ๋ง์ฐ์ค ๋ง์ง๋ฉด์ ๋ง ์์ ๋๋๊ณ ๊ทธ๋ฌ๋๋ฐ ใ ใ ใ ใ
๊ทธ ๋น์ ์ญ๋ง์์ด๋ผ ์กฐ์ฌํ ์จ์ผ ๋๋ค๋ ๋น๋ถ ๋ค์ผ๋ฉด์ ์กฐ๊ธ ๋ฌด์์ ๋ค..
๊ทผ๋ฐ ์ง๊ธ์ ์ฐ์ฅ์ด๋ผ๊ณ ํด์ผ ํ๋
๋๋ฌด ํธํ๊ณ ์ข์ :)
'๐ iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
API ์ฌ์ดํธ ๋ชจ์ (์์ ์ ๋ฐ์ดํธ) (0) | 2020.10.12 |
---|---|
[Swift] ํ๋ก์ ํธ์ Realm ์ ์ฉํ๊ธฐ (cocoapod ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ) (0) | 2020.10.08 |
[Swift] Date์ DateFormatter๋ก ํ๊ตญ ํ์ฌ ์๊ฐ ๊ตฌํ๊ณ UILabel์ ๋ฃ์ด๋ณด๊ธฐ (0) | 2020.09.29 |
[Swift] UICollectionViewCell ์์ UICollectionView ๋ฃ๊ธฐ (0) | 2020.09.29 |
[Swift] UICollectionView์์ Section์ ๋๋ ๋ณด์! (0) | 2020.09.28 |
๋๊ธ