-
關(guān)鍵字
-
nonlabel:可能為空。作用:一般用于屬性聲明時使用
-
1.@property(nonatomic,copy,nullable)NSstring * name;//name字符串可以為空。
-
2.@property(nonatomic,copy)NSstring *_Nullable name;
-
nonnull:不能為空。作用:一般用于屬性聲明時使用
-
1.@property(nonatomic,copy,nonnull)NSstring * name;//name字符串不可以為空,如果仍然賦值為空則會??
-
2.@property(nonatomic,copy)NSstring *_Nonnull name;
-
null_resettable:必須要處理為空情況,建議重寫get方法。作用:get方法不能返回nil,set可以傳入為空。
-
@property (nonatomic, strong, null_resettable) NSString *name;
-
__kindof:相當于當前類或者它的子類 作用:舉個??
-
咱們用instancetype,系統(tǒng)自動識別當前對象的類 + (instancetype)people 如果+(__kindof Person *)people,表示可以使people類或者它的子類
-
泛型
-
什么是泛型,簡單來說就是限制一個類型中放什么東西。用法:類型<限制類型>
-
泛型的聲明:在聲明類的時候,在類的后面<泛型名稱>,如果不用指定的泛型類型會??。 @property (nonatomic, strong) NSMutableArray<NSString *> *arry;
-
泛型的好處:如果我現(xiàn)在_array或者self.arry,會有提示。如果從數(shù)據(jù)中取元素,可以使用點語法,id是不可以使用點語法的。
-
泛型注意點:在數(shù)組中,一般用可變數(shù)組添加方法,泛型才會生效,如果使用不可變數(shù)組,添加元素,泛型沒有效果
-
泛型在開發(fā)中使用場景:用于限制集合類型,比如限制NSMutableArray、、NSMutableDictory等等
-
泛型中的協(xié)變和逆變
-
__covariant:協(xié)變, 子類轉(zhuǎn)父類
-
__contravariant:逆變 父類轉(zhuǎn)子類
//父類轉(zhuǎn)子類
-(void)contravariant
{
iOS *ios = [[iOS alloc] init];
Language *language = [[Language alloc] init];
// 父類轉(zhuǎn)子類
Person<Language *> *p = [[Person alloc] init];
p.language = language;
Person<iOS *> *p1 = [[Person alloc] init];
p1 = p;
}
// 子類轉(zhuǎn)父類
- (void)covariant
{
iOS *ios = [[iOS alloc] init];
Language *language = [[Language alloc] init];
// iOS
Person<iOS *> *p = [[Person alloc] init];
p.language = ios;
Person<Language *> *p1;
p1 = p;
}
/**
SFSafariViewController官方默認的跳轉(zhuǎn)方式是modal,如果強行用push返回的時候需要監(jiān)聽SFSafariViewController的代理方法,&&返回后導航欄會消失
&&使用SFSafariViewController的時候需要導入#import <SafariServices/SafariServices.h>,&&SFSafariViewController最低支持iOS9
*/
SFSafariViewController *safariVC = [[SFSafariViewController alloc]initWithURL:url];
[self presentViewController:safariVC animated:YES completion:nil];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。