人
今天挺凉快的,开始本周的第二次健身。健身环大冒险的另一个好处就是他总是能恰到好处的控制着你的运动量,不至于运动一次就浑身酸痛。
狗
今天给酷奇挑沐浴乳和驱虫药。之前的沐浴乳是酷奇去年得湿疹时在医院开的,也没注意是啥牌子。所以这次就稍微研究了下,对于天秤座的我,每次买东西都有选择犹豫症,非常的痛苦。(其实就是没钱)
所以长痛不如短痛,沐浴乳挑的是MinkSheen,驱虫药选的是拜宠爽体外驱虫。
关于驱虫,目前的设想就是,体外6/7/8/9每月一驱,剩下的就考虑2-3月一驱。体内就每年5月打狂犬疫苗和11月打联合疫苗的时候顺带做下体内驱虫,一年两次。
码
AppPreference的设计
App肯定会有一定的设置或者偏好,通常我们都会存储在系统的NSUserDefaults standardUserDefaults中。在需要读取这些设置的时候,调用NSUserDefaults的API来获取这些值。例如:
NSUserDefaults* userDefault = [NSUserDefaults standardUserDefaults];
NSDate *lastLoginDate = [userDefault objectForKey:kUserDefaultsLastLoginDate];
同样,在需要更新这些值的时候,调用NSUserDefaults的API来更新,这里就不举例了。
这样时不时的调用NSUserDefaults的API,虽然一般也就两三行代码,但经常写,也会觉得很冗余。所以就考虑设计个单例,来负责管理这些App的偏好。
思路也非常清晰的,把APP的设置(偏好)选项作为AppPreference的属性,初始化时,从NSUserDefaults中读取。这样读取APP的设置(偏好)时,直接访问AppPreference的属性即可。而需要更新设置(偏好)时,通过重写AppPreference的属性Set方法,在更行属性的同时,更新NSUserDefaults对应的值。
这样整个封装完成,外部调用不会再出现NSUserDefaults的调用。
网友评论