为当前账户添加node_modules目录读写权限即可。
1 | sudo chown -R $(whoami) ~/.npm |
假设有一个方法的字符串
testinvokeBlock 和 类名 TestUtil
如何转换成block调用呢
1 | NSString *str = @"testinvokeBlock"; |
result为最后的block.
1 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; |
1 | - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options; |
1 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation |
1 | - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo |
whoami
:admin /usr/local/opt1.如何在main方法之前执行某段代码:
android:static代码块
ios:+(void)load;
2.多态性实现
android: interface(接口),继承,加上重写方法
ios:protocol(协议),继承,加上重写方法
3.判断某个实例所属的class类型
android:isinstanceof
ios: iskindof
4.数组 有序存放数组
android: arraylist,线程不安全,底层实现是数组,效率很高
vecoter,线程安全,底层是数组,效率低
ios:NSMutableArray,线程不安全,底层实现是数组+循环buffer,效率很高
5.set 存放唯一值
android:set,hashset
ios:NSSet,NSmutableSet
6.键值对,字典, key都是唯一的。遍历起来ios感觉更方便
android:map,hashmap,需要先把key通过 keyset()方法取到一个set中 再通过iterator(迭代器)来取对应value
ios:NSMutableDictinory, 直接通过方法 allkeys, allvalues 获取所有的key或者value
##app 冷启动 打开方式:##
Xcode 中 Edit scheme -> Run -> Auguments 将环境变量 DYLD_PRINT_STATISTICS 设为 1。
1 | Total pre-main time: 74.37 milliseconds (100.0%) |
running pig
IOS Developer