UIViewController* viewController = [[NSClassFromString([_viewControllerArrayobjectAtIndex:indexPath.row])alloc]init];
官方許多方法 命名都是有規律可循,有時想實現某個功能,還需要自己去構造方法,調用方法,此時如果知道官方已經有此方法,那就事半功倍了,那怎么知道有沒有這個方法呢,關鍵是方法名能不能找對,首先官方方法都是以你的目的屬性開頭,例如你想對圖片進行操作,那么方法名的開頭一般都是image,如果你得到的最后的東西是字符串,那十有八九你需要用個的方法就是NSString開頭,剩下的就簡單了 Xcode的提示功能 會讓你從浩如煙海的方法名集合中找到你需要的方法。
當然 許多東西都是相通的,方法名許多都是類似的,關鍵是要縮小提示范圍,這就需要平時的積累,或者是用蘋果的思想去解析可能的方法。
下面舉幾個例子:
我們平時做大量的數據處理,歸根結底就是對字符串的操作,例如想打印出來某個View的frame,可能會想到用這種方法:
NSLog(@"%f,%f,%f,%f",view.frame.origin.x,view.frame.origin.y,view.frame.size.width,view.frame.size.height);
如果用這種方法 那就out了,蘋果早就想到直接將CGrect類型轉為字符串了,
NSStringFromCGRect
一下就搞定了
或者有時我們得到一個類的類名字符串 想通過這個字符串來調用類方法 要如何做呢,許多童鞋可能去想當然去轉化為類 然后去構造方法。。。
你又out了,蘋果也早就有方法直接將類名轉為類了
NSClassFromString()
又是一行代碼搞定了.