第27月第17天 objc_msgSendSuper】的更多相关文章

1.objc_msgSendSuper super 的含义,消息转发会调用 objc_msgSendSuper, 就是 去父类的方法列表中找到 initWithFrame:这个方法,然后调用,调用的主体是 self.super 只是一个编译器的特殊字符,并不代表父类的一个实例化对象.这也就能明白为什么 调用 [super initWithFrame:frame]能得到本类的 实例化对象了,而不是父类的对象了.   https://www.jianshu.com/p/60352a5eb940…
1. #import "UIView+Test.h" #import <objc/runtime.h> @implementation UIView (Test) + (BOOL)resolveInstanceMethod:(SEL)sel { return NO; } - (id)forwardingTargetForSelector:(SEL)aSelector { // NSString *sel = NSStringFromSelector(aSelector);…
1. 7.如果将自己打包的bundle给别人使用,别人在打包上传过程中可能会遇到错误提示如: ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'lhby.app/Test.bundle/Test' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutab…
1.验证签名 { [self generateRSAKeyPair:kRSA_KEY_SIZE]; NSData *ttDt = [" dataUsingEncoding:NSASCIIStringEncoding]; NSData *sha1dg = [ttDt hashDataWith:CCDIGEST_SHA1]; OSStatus ret; //私钥签名,公钥验证签名 size_t siglen = SecKeyGetBlockSize(privateKeyRef); uint8_t *…
1.clang -rewrite-objc main.m #import <objc/runtime.h> #import<objc/message.h> #import <Foundation/Foundation.h> @interface Person : NSObject //为了方便查看重写的代码将name改成cjmName @property (nonatomic, copy) NSString *cjmName; @property (nonatomic,…
1. 在进行 pull 操作的同时,其实就是 fetch+merge 的一个过程.我们从 remote 分支中拉取新的更新,然后再合并到本地分支中去. 如果 remote 分支超前于本地分支,并且本地分支没有任何 commit 的,直接从 remote 进行 pull 操作,默认会采用 fast-forward 模式,这种模式下,并不会产生合并节点,也就是说不会产生多余的那条 log 信息 如果想之前那样,本地先 commit 后再去 pull,那么此时,remote 分支和本地会分支会出现分叉…
1. While the usage of epoll when employed as a level-triggered interface does have the same semantics as poll(2) int addfd(int epollfd,int fd, bool enable_et) { struct epoll_event event; event.data.fd = fd; event.events = EPOLLIN; if(enable_et) { eve…
1. source 'https://github.com/CocoaPods/Specs.git' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do platform :ios, '9.0' pod 'GoogleWebRTC' end http://rtc.elesos.com/native-code/ios/ https://blog.csdn.net/chenxiemin/article/details/78998492 https://gith…
1.error: tool 'xcodebuild' requires Xcode的解决办法 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/ https://blog.csdn.net/shorewb/article/details/52447554 2. cmake_minimum_required(VERSION 3.5) project(server C CXX) set(CMAKE_CXX_CO…
1.gcd timer 因为如果不用GCD,编码需要注意以下三个细节: 1.必须保证有一个活跃的runloop. performSelector和scheduledTimerWithTimeInterval方法都是基于runloop的.我们知道,当一个应用启动时,系统会开启一个主线程,并且把主线程的runloop激活,也就是run起来,并且主线程的runloop是不会停止的.所以,当这两个方法在主线程可以被正常调用.但情况往往不是这样的.实际编码中,我们更多的逻辑是放在子线程中执行的.而子线程的…