setValue: forKey:
先看看setValue: forKey:的定義
/* Send -setObject:forKey: to the receiver, unless the value is nil, in which case send -removeObject:forKey:.
*/
- (void)setValue:(id)value forKey:(NSString *)key;
看看setObject:forKey:的定義
@interface NSMutableDictionary :NSDictionary
- (void)removeObjectForKey:(id)aKey;
- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;
@end
注意:setObject:forKey:中Key的對象是一個id類型,并不是NSString氨鹏,只不過我們經(jīng)常使用NSString而已只壳。
http://blog.csdn.net/itianyi/article/details/8661997
self的解讀
Objective-C里面既有實例方法也類方法遇骑。類方法(Class Method) 有時被稱為工廠方法(Factory Method)或者方便方法(Convenience method)泼橘。工廠方法的稱謂明顯和一般意義上的工廠方法不同择份,從本質(zhì)上來說蘸嘶,類方法可以獨立于對象而執(zhí)行,所以在其他的語言里面類方法有的時候被稱為靜態(tài)方法计雌。
注意點一:類方法
1悄晃,類方法可以調(diào)用類方法。
2凿滤,類方法不可以調(diào)用實例方法妈橄,但是類方法可以通過創(chuàng)建對象來訪問實例方法。
3鸭巴,類方法不可以使用實例變量眷细。類方法可以使用self,因為self不是實例變量鹃祖。
4溪椎,類方法作為消息,可以被發(fā)送到類或者對象里面去(實際上恬口,就是可以通過類或者對象調(diào)用類方法的意思)校读。
注意點二:self的規(guī)則
大家需要記住下面的規(guī)則:
1,實例方法里面的self祖能,是對象的首地址歉秫。
2,類方法里面的self养铸,是Class.
盡管在同一個類里面的使用self雁芙,但是self卻有著不同的解讀。在類方法里面的self钞螟,可以翻譯成class self兔甘;在實例方法里面的self,應(yīng)該被翻譯成為object self鳞滨。在類方法里面的self和實例方法里面的self有著本質(zhì)上的不同洞焙,盡管他們的名字都叫self。
Console輸出很多 Could not successfully update network info during initialization
The "Could not successfully update network info during initialization." log is shown every time you initialize the CTTelephonyNetworkInfo in a device without SIM card, (iPod touch or iPad without 3G).
If it's very annoying, you can just initialize it once and do your network checks against that instance.
Attempt to insert non-property list object 報錯原因
NSUserDefault 支持的存儲類型有:NSString拯啦、 NSNumber澡匪、NSDate、 NSArray褒链、NSDictionary唁情、BOOL、NSInteger甫匹、NSFloat等系統(tǒng)定義的數(shù)據(jù)類型荠瘪。
自己創(chuàng)建的類 是不識別的 夯巷。
獲取精準時間
CFAbsoluteTime tcurrentTime = CFAbsoluteTimeGetCurrent();
WKWebView透明背景色
UIWebView直接設(shè)置 webview.backgroundColor = nil
即可
而WKWebView需要額外設(shè)置 webview.opaque = YES