Replace stringwithformat in nsstring: Method
First, provide the source code:
Yxuseful. h
/// Yxuseful. h // nsstring // copyright (c) 2014 y. x. all rights reserved. // # import <Foundation/Foundation. h> nsstring * string (nsstring * format ,...);
Yxuseful. m
/// Yxuseful. M // nsstring // copyright (c) 2014 y. x. all rights reserved. // # import "yxuseful. H "nsstring * string (nsstring * format ,...) {va_list AP; va_start (AP, format); nsstring * Body = [[nsstring alloc] initwithformat: format arguments: AP]; va_end (AP); return body ;}
Usage:
As you can see, string is much simpler than the following method, right :)
From the implementation point of view, it is the following method (you have never seen such a method with multiple parameters)
"..." This list of indefinite parameters may be the first time you see it :)
Of course, there are also drawbacks:
Summary:
In fact, it is not easy to implement it. If you have never touched it, it cannot be written, because you will never know that va_start and va_end are required for normal use :)