#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

这里写出现警告的代码

#pragma clang diagnostic pop

这样就消除了方法弃用的警告!

同理, 大家可以在下边搜索到对应的警告, 这样 就可以把前边的字串填入上边的ignored的后边, 然后阔住你的代码, 就OK了

源网址

原文对应的警告:

Semantic Warnings

Warning Message
-WCFString-literal input conversion stopped due to an input byte that does not belong to the input codeset UTF-8
-WNSObject-attribute __attribute ((NSObject)) may be put on a typedef only, attribute is ignored
-Wabstract-vbase-init initializer for virtual base class %0 of abstract class %1 will never be used
-Waddress-of-array-temporary pointer is initialized by a temporary array, which will be destroyed at the end of the full-expression
-Warc-maybe-repeated-use-of-weak "weak %select{variable|property|implicit property|instance variable}0 %1 may be accessed multiple times in this %select{function|method|block|lambda}2 and may be unpredictably set to nil assign to a strong variable to keep the object alive
-Warc-non-pod-memaccess %select{destination for|source of}0 this %1 call is a pointer to ownership-qualified type %2
-Warc-performSelector-leaks performSelector may cause a leak because its selector is unknown
-Warc-repeated-use-of-weak "weak %select{variable|property|implicit property|instance variable}0 %1 is accessed multiple times in this %select{function|method|block|lambda}2 but may be unpredictably set to nil assign to a strong variable to keep the object alive
-Warc-retain-cycles capturing %0 strongly in this block is likely to lead to a retain cycle
-Warc-unsafe-retained-assign assigning retained object to unsafe property object will be released after assignment
-Warc-unsafe-retained-assign assigning %select{array literal|dictionary literal|numeric literal|boxed expression|should not happen|block literal}0 to a weak %select{property|variable}1 object will be released after assignment
-Warc-unsafe-retained-assign assigning retained object to %select{weak|unsafe_unretained}0 %select{property|variable}1 object will be released after assignment
-Warray-bounds array index %0 is past the end of the array (which contains %1 element%s2)
-Warray-bounds array index %0 is before the beginning of the array
-Warray-bounds 'static' has no effect on zero-length arrays
-Warray-bounds array argument is too small contains %0 elements, callee requires at least %1
-Warray-bounds-pointer-arithmetic the pointer incremented by %0 refers past the end of the array (that contains %1 element%s2)
-Warray-bounds-pointer-arithmetic the pointer decremented by %0 refers before the beginning of the array
-Wassign-enum integer constant not in range of enumerated type %0
-Watomic-property-with-user-defined-accessor writable atomic property %0 cannot pair a synthesized %select{getter|setter}1 with a user defined %select{getter|setter}2
-Wattributes unknown attribute %0 ignored
-Wauto-var-id 'auto' deduced as 'id' in declaration of %0
-Wavailability unknown platform %0 in availability macro
-Wavailability overriding method %select{introduced after|deprecated before|obsoleted before}0 overridden method on %1 (%2 vs. %3)
-Wavailability availability does not match previous declaration
-Wavailability overriding method cannot be unavailable on %0 when its overridden method is available
-Wavailability feature cannot be %select{introduced|deprecated|obsoleted}0 in %1 version %2 before it was %select{introduced|deprecated|obsoleted}3 in version %4 attribute ignored
-Wbad-function-cast cast from function call of type %0 to non-matching type %1
-Wbitfield-constant-conversion implicit truncation from %2 to bitfield changes value from %0 to %1
-Wbitwise-op-parentheses '&' within '|'
-Wbool-conversion "initialization of pointer of type %0 to null from a constant boolean " "expression
-Wbridge-cast %0 cannot bridge to %1
-Wbridge-cast %0 bridges to %1, not %2
-Wbuiltin-requires-header declaration of built-in function '%0' requires inclusion of the header stdio.h
-Wbuiltin-requires-header declaration of built-in function '%0' requires inclusion of the header setjmp.h
-Wbuiltin-requires-header declaration of built-in function '%0' requires inclusion of the header ucontext.h
-Wc++-compat %select{|empty }0%select{struct|union}1 has size 0 in C, %select{size 1|non-zero size}2 in C++
-Wc++11-compat explicit instantiation cannot be 'inline'
-Wc++11-compat explicit instantiation of %0 must occur at global scope
-Wc++11-compat explicit instantiation of %0 not in a namespace enclosing %1
-Wc++11-compat explicit instantiation of %q0 must occur in namespace %1
-Wc++11-narrowing constant expression evaluates to %0 which cannot be narrowed to type %1 in C++11
-Wc++11-narrowing type %0 cannot be narrowed to %1 in initializer list in C++11
-Wc++11-narrowing non-constant-expression cannot be narrowed from type %0 to %1 in initializer list in C++11
-Wc++98-c++11-compat type definition in a constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat use of this statement in a constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat init-captures.def warn_cxx11_compat_init_capture : Warning "initialized lambda captures are incompatible with C++ standards " "before C++1y
-Wc++98-c++11-compat variable declaration in a constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat constexpr function with no return statements is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat multiple return statements in constexpr function is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat variable templates are incompatible with C++ standards before C++1y
-Wc++98-compat substitution failure due to access control is incompatible with C++98
-Wc++98-compat %select{anonymous struct|union}0 member %1 with a non-trivial %select{constructor|copy constructor|move constructor|copy assignment operator|move assignment operator|destructor}2 is incompatible with C++98
-Wc++98-compat enumeration type in nested name specifier is incompatible with C++98
-Wc++98-compat static data member %0 in union is incompatible with C++98
-Wc++98-compat default template arguments for a function template are incompatible with C++98
-Wc++98-compat scalar initialized from empty initializer list is incompatible with C++98
-Wc++98-compat befriending %1 without '%select{struct|interface|union|class|enum}0' keyword is incompatible with C++98
-Wc++98-compat use of null pointer as non-type template argument is incompatible with C++98
-Wc++98-compat friend declaration naming a member of the declaring class is incompatible with C++98
-Wc++98-compat non-class friend type %0 is incompatible with C++98
-Wc++98-compat befriending enumeration type %0 is incompatible with C++98
-Wc++98-compat use of non-static data member %0 in an unevaluated context is incompatible with C++98
-Wc++98-compat friend function %0 would be implicitly redefined in C++98
-Wc++98-compat %select{class template|class template partial|variable template|variable template partial|function template|member function|static data member|member class|member enumeration}0 specialization of %1 outside namespace %2 is incompatible with C++98
-Wc++98-compat reference initialized from initializer list is incompatible with C++98
-Wc++98-compat redundant parentheses surrounding address non-type template argument are incompatible with C++98
-Wc++98-compat initialization of initializer_list object is incompatible with C++98
-Wc++98-compat use of 'template' keyword outside of a template is incompatible with C++98
-Wc++98-compat non-type template argument referring to %select{function|object}0 %1 with internal linkage is incompatible with C++98
-Wc++98-compat use of 'typename' outside of a template is incompatible with C++98
-Wc++98-compat passing object of trivial but non-POD type %0 through variadic %select{function|block|method|constructor}1 is incompatible with C++98
-Wc++98-compat goto would jump into protected scope in C++98
-Wc++98-compat constructor call from initializer list is incompatible with C++98
-Wc++98-compat 'auto' type specifier is incompatible with C++98
-Wc++98-compat delegating constructors are incompatible with C++98
-Wc++98-compat 'constexpr' specifier is incompatible with C++98
-Wc++98-compat inheriting constructors are incompatible with C++98
-Wc++98-compat explicit conversion functions are incompatible with C++98
-Wc++98-compat switch case would be in a protected scope in C++98
-Wc++98-compat '%0' type specifier is incompatible with C++98
-Wc++98-compat indirect goto might cross protected scopes in C++98
-Wc++98-compat-pedantic cast between pointer-to-function and pointer-to-object is incompatible with C++98
-Wc++98-compat-pedantic implicit conversion from array size expression of type %0 to %select{integral|enumeration}1 type %2 is incompatible with C++98
-Wcast-align cast from %0 to %1 increases required alignment from %2 to %3
-Wcast-of-sel-type cast of type %0 to %1 is deprecated use sel_getName instead
-Wchar-subscripts array subscript is of type 'char'
-Wconditional-uninitialized variable %0 may be uninitialized when %select{used here|captured by block}1
-Wconstant-logical-operand use of logical '%0' with constant operand
-Wconstexpr-not-const 'constexpr' non-static member function will not be implicitly 'const' in C++1y add 'const' to avoid a change in behavior
-Wconsumed state of variable '%0' must match at the entry and exit of loop
-Wconsumed parameter '%0' not in expected state when the function returns: expected '%1', observed '%2'
-Wconsumed argument not in expected state expected '%0', observed '%1'
-Wconsumed invalid invocation of method '%0' on a temporary object while it is in the '%1' state
-Wconsumed return state set for an unconsumable type '%0'
-Wconsumed consumed analysis attribute is attached to member of class '%0' which isn't marked as consumable
-Wconsumed invalid invocation of method '%0' on object '%1' while it is in the '%2' state
-Wconsumed return value not in expected state expected '%0', observed '%1'
-Wconversion implicit conversion discards imaginary component: %0 to %1
-Wconversion non-type template argument with value '%0' converted to '%1' for unsigned template parameter of type %2
-Wconversion implicit conversion loses floating-point precision: %0 to %1
-Wconversion implicit conversion loses integer precision: %0 to %1
-Wconversion non-type template argument value '%0' truncated to '%1' for template parameter of type %2
-Wconversion implicit conversion turns vector to scalar: %0 to %1
-Wconversion implicit conversion turns floating-point number into integer: %0 to %1
-Wcovered-switch-default default label in switch which covers all enumeration values
-Wcustom-atomic-properties atomic by default property %0 has a user defined %select{getter|setter}1 (property should be marked 'atomic' if this is intended)
-Wdangling-field initializing pointer member %0 with the stack address of parameter %1
-Wdangling-field binding reference %select{|subobject of }1member %0 to a temporary value
-Wdangling-field binding reference member %0 to stack allocated parameter %1
-Wdangling-initializer-list array backing the initializer list will be destroyed at the end of %select{the full-expression|the constructor}0
-Wdelete-incomplete deleting pointer to incomplete type %0 may cause undefined behavior
-Wdelete-non-virtual-dtor delete called on %0 that is abstract but has non-virtual destructor
-Wdelete-non-virtual-dtor delete called on %0 that has virtual functions but non-virtual destructor
-Wdeprecated access declarations are deprecated use using declarations instead
-Wdeprecated definition of implicit copy %select{constructor|assignment operator}1 for %0 is deprecated because it has a user-declared %select{copy %select{assignment operator|constructor}1|destructor}2
-Wdeprecated dynamic exception specifications are deprecated
-Wdeprecated-increment-bool incrementing expression of type bool is deprecated
-Wdeprecated-objc-isa-usage assignment to Objective-C's isa is deprecated in favor of object_setClass()
-Wdeprecated-objc-isa-usage direct access to Objective-C's isa is deprecated in favor of object_getClass()
-Wdeprecated-objc-pointer-introspection bitmasking for introspection of Objective-C object pointers is strongly discouraged
-Wdeprecated-objc-pointer-introspection-performSelector warn_objc_pointer_masking.Text
-Wdeprecated-writable-strings dummy warning to enable -fconst-strings
-Wdirect-ivar-access instance variable %0 is being directly accessed
-Wdistributed-object-modifiers conflicting distributed object modifiers on return type in implementation of %0
-Wdistributed-object-modifiers conflicting distributed object modifiers on parameter type in implementation of %0
-Wdivision-by-zero division by zero is undefined
-Wdivision-by-zero remainder by zero is undefined
-Wdocumentation parameter '%0' not found in the function declaration
-Wdocumentation not a Doxygen trailing comment
-Wduplicate-enum element %0 has been implicitly assigned %1 which another element has been assigned
-Wduplicate-method-match multiple declarations of method %0 found and ignored
-Wdynamic-class-memaccess %select{destination for|source of|first operand of|second operand of}0 this %1 call is a pointer to dynamic class %2 vtable pointer will be %select{overwritten|copied|moved|compared}3
-Wempty-body switch statement has empty body
-Wempty-body for loop has empty body
-Wempty-body if statement has empty body
-Wempty-body range-based for loop has empty body
-Wempty-body while loop has empty body
-Wenum-compare comparison of two values with different enumeration types%diff{ ($ and $)|}0,1
-Wenum-conversion implicit conversion from enumeration type %0 to different enumeration type %1
-Wexit-time-destructors declaration requires an exit-time destructor
-Wexplicit-ownership-type method parameter of type %0 with no explicit ownership
-Wextern-c-compat %select{|empty }0%select{struct|union}1 has size 0 in C, %select{size 1|non-zero size}2 in C++
-Wextern-initializer 'extern' variable has an initializer
-Wfloat-equal comparing floating point with == or != is unsafe
-Wformat "data argument position '%0' exceeds the number of data arguments (%1)
-Wformat position arguments in format strings start counting at 1 (not 0)
-Wformat invalid position specified for %select{field width|field precision}0
-Wformat cannot mix positional and non-positional arguments in format string
-Wformat values of type '%0' should not be used as format arguments add an explicit cast to %1 instead
-Wformat format specifies type %0 but the argument has type %1
-Wformat zero field width in scanf format string is unused
-Wformat no closing ']' for '%%[' in scanf format string
-Wformat format string should not be a wide string
-Wformat format string contains '\\0' within the string body
-Wformat '%select{*|.*}0' specified field %select{width|precision}0 is missing a matching 'int' argument
-Wformat field %select{width|precision}0 should have type %1, but argument has type %2
-Wformat %select{field width|precision}0 used with '%1' conversion specifier, resulting in undefined behavior
-Wformat format string missing
-Wformat incomplete format specifier
-Wformat flag '%0' results in undefined behavior with '%1' conversion specifier
-Wformat flag '%0' is ignored when flag '%1' is present
-Wformat more '%%' conversions than data arguments
-Wformat length modifier '%0' results in undefined behavior or no effect with '%1' conversion specifier
-Wformat-extra-args data argument not used by format string
-Wformat-invalid-specifier invalid conversion specifier '%0'
-Wformat-nonliteral format string is not a string literal
-Wformat-security format string is not a string literal (potentially insecure)
-Wformat-zero-length format string is empty
-Wgcc-compat GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier
-Wglobal-constructors declaration requires a global constructor
-Wglobal-constructors declaration requires a global destructor
-Wgnu-conditional-omitted-operand use of GNU ?: conditional expression extension, omitting middle operand
-Wheader-hygiene using namespace directive in global context in header
-Widiomatic-parentheses using the result of an assignment as a condition without parentheses
-Wignored-attributes 'malloc' attribute only applies to functions returning a pointer type
-Wignored-attributes %0 attribute only applies to %select{functions|unions|variables and functions|functions and methods|parameters|functions, methods and blocks|functions, methods, and classes|functions, methods, and parameters|classes|variables|methods|variables, functions and labels|fields and global variables|structs|variables, functions and tag types|thread-local variables|variables and fields|variables, data members and tag types|types and namespaces|Objective-C interfaces}1
-Wignored-attributes '%0' attribute cannot be specified on a definition
-Wignored-attributes __weak attribute cannot be specified on an automatic variable when ARC is not enabled
-Wignored-attributes Objective-C GC does not allow weak variables on the stack
-Wignored-attributes __weak attribute cannot be specified on a field declaration
-Wignored-attributes attribute %0 cannot be applied to %select{functions|Objective-C method}1 without return value
-Wignored-attributes attribute declaration must precede definition
-Wignored-attributes attribute %0 is ignored, place it after \"%select{class|struct|union|interface|enum}1\" to apply attribute to type declaration
-Wignored-attributes __declspec attribute %0 is not supported
-Wignored-attributes attribute %0 ignored, because it cannot be applied to a type
-Wignored-attributes attribute %0 after definition is ignored
-Wignored-attributes %0 attribute ignored
-Wignored-attributes 'sentinel' attribute only supported for variadic %select{functions|blocks}0
-Wignored-attributes 'sentinel' attribute requires named arguments
-Wignored-attributes '%0' only applies to %select{function|pointer|Objective-C object or block pointer}1 types type here is %2
-Wignored-attributes 'nonnull' attribute applied to function with no pointer arguments
-Wignored-attributes %0 attribute can only be applied to instance variables or properties
-Wignored-attributes ibaction attribute can only be applied to Objective-C instance methods
-Wignored-attributes %0 calling convention ignored on variadic function
-Wignored-attributes %0 only applies to variables with static storage duration and functions
-Wignored-attributes %0 attribute argument not supported: %1
-Wignored-attributes #pramga ms_struct can not be used with dynamic classes or structures
-Wignored-attributes transparent union definition must contain at least one field transparent_union attribute ignored
-Wignored-attributes first field of a transparent union cannot have %select{floating point|vector}0 type %1 transparent_union attribute ignored
-Wignored-attributes 'gnu_inline' attribute requires function to be marked 'inline', attribute ignored
-Wignored-attributes calling convention %0 ignored for this target
-Wignored-attributes transparent_union attribute can only be applied to a union definition attribute ignored
-Wignored-attributes %select{alignment|size}0 of field %1 (%2 bits) does not match the %select{alignment|size}0 of the first field in transparent union transparent_union attribute ignored
-Wignored-attributes attribute %0 is already applied
-Wignored-attributes %0 attribute ignored for field of type %1
-Wignored-attributes %0 attribute ignored when parsing type
-Wignored-attributes %0 attribute only applies to %select{functions|methods|properties}1 that return %select{an Objective-C object|a pointer|a non-retainable pointer}2
-Wignored-attributes %0 attribute only applies to %select{Objective-C object|pointer}1 parameters
-Wignored-attributes attribute %0 is already applied with different parameters
-Wignored-attributes unknown visibility %0
-Wignored-qualifiers "'%0' type qualifier%s1 on return type %plural{1:has|:have}1 no effect
-Wignored-qualifiers ARC %select{unused|__unsafe_unretained|__strong|__weak|__autoreleasing}0 lifetime qualifier on return type is ignored
-Wimplicit-atomic-properties property is assumed atomic by default
-Wimplicit-atomic-properties property is assumed atomic when auto-synthesizing the property
-Wimplicit-fallthrough fallthrough annotation in unreachable code
-Wimplicit-fallthrough unannotated fall-through between switch labels
-Wimplicit-fallthrough fallthrough annotation does not directly precede switch label
-Wimplicit-function-declaration implicit declaration of function %0
-Wimplicit-function-declaration use of unknown builtin %0
-Wimplicit-retain-self "block implicitly retains 'self' explicitly mention 'self' to indicate this is intended behavior
-Wincompatible-library-redeclaration incompatible redeclaration of library function %0
-Wincomplete-implementation method definition for %0 not found
-Winherited-variadic-ctor inheriting constructor does not inherit ellipsis
-Winitializer-overrides subobject initialization overrides initialization of other fields within its enclosing subobject
-Winitializer-overrides initializer overrides prior initialization of this subobject
-Wint-to-pointer-cast cast to %1 from smaller integer type %0
-Wint-to-void-pointer-cast cast to %1 from smaller integer type %0
-Winvalid-iboutlet IBOutletCollection properties should be copy/strong and not assign
-Winvalid-iboutlet %select{instance variable|property}2 with %0 attribute must be an object type (invalid %1)
-Winvalid-noreturn function %0 declared 'noreturn' should not return
-Winvalid-noreturn function declared 'noreturn' should not return
-Wlarge-by-value-copy return value of %0 is a large (%1 bytes) pass-by-value object pass it by reference instead ?
-Wlarge-by-value-copy %0 is a large (%1 bytes) pass-by-value argument pass it by reference instead ?
-Wliteral-conversion implicit conversion from %0 to %1 changes value from %2 to %3
-Wliteral-range magnitude of floating-point constant too large for type %0 maximum is %1
-Wliteral-range magnitude of floating-point constant too small for type %0 minimum is %1
-Wlogical-not-parentheses logical not is only applied to the left hand side of this comparison
-Wlogical-op-parentheses '&&' within '||'
-Wloop-analysis variable%select{s| %1|s %1 and %2|s %1, %2, and %3|s %1, %2, %3, and %4}0 used in loop condition not modified in loop body
-Wloop-analysis variable %0 is %select{decremented|incremented}1 both in the loop header and in the loop body
-Wmethod-signatures conflicting parameter types in implementation of %0: %1 vs %2
-Wmethod-signatures conflicting return type in implementation of %0: %1 vs %2
-Wmicrosoft extra qualification on member %0
-Wmismatched-method-attributes attributes on method implementation and its declaration must match
-Wmismatched-parameter-types conflicting parameter types in implementation of %0%diff{: $ vs $|}1,2
-Wmismatched-return-types conflicting return type in implementation of %0%diff{: $ vs $|}1,2
-Wmissing-braces suggest braces around initialization of subobject
-Wmissing-declarations '%0' ignored on this declaration
-Wmissing-field-initializers missing field '%0' initializer
-Wmissing-method-return-type method has no return type specified defaults to 'id'
-Wmissing-noreturn %select{function|method}0 %1 could be declared with attribute 'noreturn'
-Wmissing-noreturn block could be declared with attribute 'noreturn'
-Wmissing-prototypes no previous prototype for function %0
-Wmissing-variable-declarations no previous extern declaration for non-static variable %0
-Wmultiple-move-vbase defaulted move assignment operator of %0 will move assign virtual base class %1 multiple times
-Wnested-anon-types anonymous types declared in an anonymous union/struct are an extension
-Wno-typedef-redefinition Redefinition of typedef '%0' is a C11 feature
-Wnon-literal-null-conversion "expression which evaluates to zero treated as a null pointer constant of " "type %0
-Wnon-pod-varargs second argument to 'va_arg' is of ARC ownership-qualified type %0
-Wnon-pod-varargs cannot pass %select{non-POD|non-trivial}0 object of type %1 to variadic %select{function|block|method|constructor}2 expected type from format string was %3
-Wnon-pod-varargs second argument to 'va_arg' is of non-POD type %0
-Wnon-pod-varargs cannot pass object of %select{non-POD|non-trivial}0 type %1 through variadic %select{function|block|method|constructor}2 call will abort at runtime
-Wnon-virtual-dtor %0 has virtual functions but non-virtual destructor
-Wnonnull null passed to a callee which requires a non-null argument
-Wnull-arithmetic use of NULL in arithmetic operation
-Wnull-arithmetic comparison between NULL and non-pointer %select{(%1 and NULL)|(NULL and %1)}0
-Wnull-dereference indirection of non-volatile null pointer will be deleted, not trap
-Wobjc-autosynthesis-property-ivar-name-match autosynthesized property %0 will use %select{|synthesized}1 instance variable %2, not existing instance variable %3
-Wobjc-forward-class-redefinition redefinition of forward class %0 of a typedef name of an object type is ignored
-Wobjc-interface-ivars declaration of instance variables in the interface is deprecated
-Wobjc-literal-compare direct comparison of %select{an array literal|a dictionary literal|a numeric literal|a boxed expression|}0 has undefined behavior
-Wobjc-literal-missing-atsign string literal must be prefixed by '@'
-Wobjc-method-access instance method %objcinstance0 not found (return type defaults to 'id') did you mean %objcinstance2?
-Wobjc-method-access class method %objcclass0 not found (return type defaults to 'id') did you mean %objcclass2?
-Wobjc-method-access instance method %objcinstance0 not found (return type defaults to 'id')
-Wobjc-method-access instance method %0 is being used on 'Class' which is not in the root class
-Wobjc-method-access class method %objcclass0 not found (return type defaults to 'id')
-Wobjc-method-access instance method %0 found instead of class method %1
-Wobjc-missing-property-synthesis "auto property synthesis is synthesizing property not explicitly synthesized
-Wobjc-missing-super-calls method possibly missing a [super %0] call
-Wobjc-noncopy-retain-block-property "retain'ed block property does not copy the block " "- use copy attribute instead
-Wobjc-nonunified-exceptions can not catch an exception thrown with @throw in C++ in the non-unified exception model
-Wobjc-property-implementation property %0 requires method %1 to be defined - use @dynamic or provide a method implementation in this category
-Wobjc-property-implementation property %0 requires method %1 to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation
-Wobjc-property-implicit-mismatch "primary property declaration is implicitly strong while redeclaration in class extension is weak
-Wobjc-property-matches-cocoa-ownership-rule property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
-Wobjc-property-no-attribute no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed
-Wobjc-property-no-attribute default property attribute 'assign' not appropriate for non-GC object
-Wobjc-property-synthesis auto property synthesis will not synthesize property '%0' because it is 'readwrite' but it will be synthesized 'readonly' via another property
-Wobjc-property-synthesis "auto property synthesis will not synthesize property '%0' because it cannot share an ivar with another synthesized property
-Wobjc-protocol-method-implementation category is implementing a method which will also be implemented by its primary class
-Wobjc-protocol-property-synthesis auto property synthesis will not synthesize property declared in a protocol
-Wobjc-redundant-literal-use using %0 with a literal is redundant
-Wobjc-root-class class %0 defined without specifying a base class
-Wobjc-string-compare direct comparison of a string literal has undefined behavior
-Wobjc-string-concatenation concatenated NSString literal for an NSArray expression - possibly missing a comma
-Wover-aligned type %0 requires %1 bytes of alignment and the default allocator only guarantees %2 bytes
-Woverloaded-shift-op-parentheses overloaded operator %select{|}0 has lower precedence than comparison operator
-Woverloaded-virtual %q0 hides overloaded virtual %select{function|functions}1
-Woverriding-method-mismatch conflicting distributed object modifiers on parameter type in declaration of %0
-Woverriding-method-mismatch conflicting parameter types in declaration of %0: %1 vs %2
-Woverriding-method-mismatch conflicting variadic declaration of method and its implementation
-Woverriding-method-mismatch conflicting distributed object modifiers on return type in declaration of %0
-Woverriding-method-mismatch conflicting parameter types in declaration of %0%diff{: $ vs $|}1,2
-Woverriding-method-mismatch conflicting return type in declaration of %0%diff{: $ vs $|}1,2
-Woverriding-method-mismatch conflicting return type in declaration of %0: %1 vs %2
-Wpacked packed attribute is unnecessary for %0
-Wpadded padding %select{struct|interface|class}0 %1 with %2 %select{byte|bit}3%select{|s}4 to align anonymous bit-field
-Wpadded padding %select{struct|interface|class}0 %1 with %2 %select{byte|bit}3%select{|s}4 to align %5
-Wpadded padding size of %0 with %1 %select{byte|bit}2%select{|s}3 to alignment boundary
-Wparentheses using the result of an assignment as a condition without parentheses
-Wparentheses %0 has lower precedence than %1 %1 will be evaluated first
-Wparentheses operator '?:' has lower precedence than '%0' '%0' will be evaluated first
-Wparentheses-equality equality comparison with extraneous parentheses
-Wpointer-arith subtraction of pointers to type %0 of zero size has undefined behavior
-Wpredefined-identifier-outside-function predefined identifier is only valid inside function
-Wprivate-extern use of __private_extern__ on a declaration may not produce external symbol private to the linkage unit and is deprecated
-Wprotocol method %0 in protocol not implemented
-Wprotocol-property-synthesis-ambiguity property of type %0 was selected for synthesis
-Wreadonly-iboutlet-property readonly IBOutlet property '%0' when auto-synthesized may not work correctly with 'nib' loader
-Wreadonly-setter-attrs property attributes '%0' and '%1' are mutually exclusive
-Wreceiver-expr receiver type %0 is not 'id' or interface pointer, consider casting it to 'id'
-Wreceiver-forward-class receiver type %0 for instance message is a forward declaration
-Wreceiver-is-weak "weak %select{receiver|property|implicit property}0 may be unpredictably set to nil
-Wreinterpret-base-class 'reinterpret_cast' %select{from|to}3 class %0 %select{to|from}3 its %select{virtual base|base at non-zero offset}2 %1 behaves differently from 'static_cast'
-Wreorder %select{field|base class}0 %1 will be initialized after %select{field|base}2 %3
-Wrequires-super-attribute %0 attribute cannot be applied to %select{methods in protocols|dealloc}1
-Wreturn-stack-address returning address of local temporary object
-Wreturn-stack-address returning address of label, which is local
-Wreturn-stack-address address of stack memory associated with local variable %0 returned
-Wreturn-stack-address reference to stack memory associated with local variable %0 returned
-Wreturn-stack-address returning reference to local temporary object
-Wreturn-type control may reach end of non-void function
-Wreturn-type non-void %select{function|method}1 %0 should return a value, DefaultError
-Wreturn-type control reaches end of non-void function
-Wreturn-type-c-linkage %0 has C-linkage specified, but returns incomplete type %1 which could be incompatible with C
-Wreturn-type-c-linkage %0 has C-linkage specified, but returns user-defined type %1 which is incompatible with C
-Wsection section does not match previous declaration
-Wselector creating selector for nonexistent method %0
-Wselector-type-mismatch multiple selectors named %0 found
-Wself-assign explicitly assigning a variable of type %0 to itself
-Wself-assign-field assigning %select{field|instance variable}0 to itself
-Wsentinel "missing sentinel in %select{function call|method dispatch|block call}0
-Wsentinel not enough variable arguments in %0 declaration to fit a sentinel
-Wshadow declaration shadows a %select{" "local variable|" "variable in %2|" "static data member of %2|" "field of %2}1
-Wshadow-ivar local declaration of %0 hides instance variable
-Wshift-count-negative shift count is negative
-Wshift-count-overflow shift count = width of type
-Wshift-op-parentheses operator '%0' has lower precedence than '%1' '%1' will be evaluated first
-Wshift-overflow signed shift result (%0) requires %1 bits to represent, but %2 only has %3 bits
-Wshift-sign-overflow signed shift result (%0) sets the sign bit of the shift expression's type (%1) and becomes negative
-Wshorten-64-to-32 implicit conversion loses integer precision: %0 to %1
-Wsign-compare comparison of integers of different signs: %0 and %1
-Wsign-conversion implicit conversion changes signedness: %0 to %1
-Wsign-conversion operand of ? changes signedness: %0 to %1
-Wsizeof-array-argument sizeof on array function parameter will return size of %0 instead of %1
-Wsizeof-array-decay sizeof on pointer operation will return size of %0 instead of %1
-Wsizeof-pointer-memaccess '%0' call operates on objects of type %1 while the size is based on a " "different type %2
-Wsizeof-pointer-memaccess argument to 'sizeof' in %0 call is the same pointer type %1 as the %select{destination|source}2 expected %3 or an explicit length
-Wsometimes-uninitialized variable %0 is %select{used|captured}1 uninitialized whenever %select{'%3' condition is %select{true|false}4|'%3' loop %select{is entered|exits because its condition is false}4|'%3' loop %select{condition is true|exits because its condition is false}4|switch %3 is taken|its declaration is reached|%3 is called}2
-Wstatic-local-in-inline non-constant static local variable in inline function may be different in different files
-Wstatic-self-init static variable %0 is suspiciously used within its own initialization
-Wstrict-selector-match multiple methods named %0 found
-Wstring-compare result of comparison against %select{a string literal|@encode}0 is unspecified (use strncmp instead)
-Wstring-conversion implicit conversion turns string literal into bool: %0 to %1
-Wstring-plus-char adding %0 to a string pointer does not append to the string
-Wstring-plus-int adding %0 to a string does not append to the string
-Wstrlcpy-strlcat-size size argument in %0 call appears to be size of the source expected the size of the destination
-Wstrncat-size the value of the size argument in 'strncat' is too large, might lead to a " "buffer overflow
-Wstrncat-size size argument in 'strncat' call appears " "to be size of the source
-Wstrncat-size the value of the size argument to 'strncat' is wrong
-Wsuper-class-method-mismatch method parameter type %diff{$ does not match super class method parameter type $|does not match super class method parameter type}0,1
-Wswitch overflow converting case value to switch condition type (%0 to %1)
-Wswitch case value not in enumerated type %0
-Wswitch %0 enumeration values not handled in switch: %1, %2, %3...
-Wswitch enumeration values %0 and %1 not handled in switch
-Wswitch enumeration value %0 not handled in switch
-Wswitch enumeration values %0, %1, and %2 not handled in switch
-Wswitch-enum enumeration values %0, %1, and %2 not explicitly handled in switch
-Wswitch-enum enumeration values %0 and %1 not explicitly handled in switch
-Wswitch-enum %0 enumeration values not explicitly handled in switch: %1, %2, %3...
-Wswitch-enum enumeration value %0 not explicitly handled in switch
-Wtautological-compare comparison of %0 unsigned%select{| enum}2 expression is always %1
-Wtautological-compare %select{self-|array }0comparison always evaluates to %select{false|true|a constant}1
-Wtautological-compare comparison of unsigned%select{| enum}2 expression %0 is always %1
-Wtautological-constant-out-of-range-compare comparison of constant %0 with expression of type %1 is always %select{false|true}2
-Wthread-safety-analysis locking '%0' that is already locked
-Wthread-safety-analysis cannot call function '%0' while mutex '%1' is locked
-Wthread-safety-analysis %select{reading|writing}2 the value pointed to by '%0' requires locking %select{'%1'|'%1' exclusively}2
-Wthread-safety-analysis unlocking '%0' that was not locked
-Wthread-safety-analysis mutex '%0' is locked exclusively and shared in the same scope
-Wthread-safety-analysis calling function '%0' requires %select{shared|exclusive}2 lock on '%1'
-Wthread-safety-analysis %select{reading|writing}2 variable '%0' requires locking %select{'%1'|'%1' exclusively}2
-Wthread-safety-analysis cannot resolve lock expression
-Wthread-safety-analysis expecting mutex '%0' to be locked at the end of function
-Wthread-safety-analysis mutex '%0' is not locked on every path through here
-Wthread-safety-analysis %select{reading|writing}1 the value pointed to by '%0' requires locking %select{any mutex|any mutex exclusively}1
-Wthread-safety-analysis %select{reading|writing}1 variable '%0' requires locking %select{any mutex|any mutex exclusively}1
-Wthread-safety-analysis mutex '%0' is still locked at the end of function
-Wthread-safety-analysis expecting mutex '%0' to be locked at start of each loop
-Wthread-safety-attributes ignoring %0 attribute because its argument is invalid
-Wthread-safety-attributes %0 attribute only applies to %select{fields and global variables|functions and methods|classes and structs}1
-Wthread-safety-attributes %0 attribute requires arguments that are class type or point to class type type here is '%1'
-Wthread-safety-attributes %0 attribute can only be applied in a context annotated with 'lockable' attribute
-Wthread-safety-attributes %0 attribute requires arguments whose type is annotated with 'lockable' attribute type here is '%1'
-Wthread-safety-attributes '%0' only applies to pointer types type here is %1
-Wthread-safety-beta Thread safety beta warning.
-Wthread-safety-precise %select{reading|writing}2 the value pointed to by '%0' requires locking %select{'%1'|'%1' exclusively}2
-Wthread-safety-precise %select{reading|writing}2 variable '%0' requires locking %select{'%1'|'%1' exclusively}2
-Wthread-safety-precise calling function '%0' requires %select{shared|exclusive}2 lock on '%1'
-Wtype-safety this type tag was not designed to be used with this function
-Wtype-safety specified %0 type tag requires a null pointer
-Wtype-safety argument type %0 doesn't match specified '%1' type tag %select{that requires %3|}2
-Wundeclared-selector undeclared selector %0 did you mean %1?
-Wundeclared-selector undeclared selector %0
-Wundefined-inline inline function %q0 is not defined
-Wundefined-internal %select{function|variable}0 %q1 has internal linkage but is not defined
-Wundefined-reinterpret-cast dereference of type %1 that was reinterpret_cast from type %0 has undefined behavior
-Wundefined-reinterpret-cast reinterpret_cast from %0 to %1 has undefined behavior
-Wuninitialized reference %0 is not yet bound to a value when used within its own initialization
-Wuninitialized field %0 is uninitialized when used here
-Wuninitialized block pointer variable %0 is uninitialized when captured by block
-Wuninitialized variable %0 is uninitialized when used within its own initialization
-Wuninitialized variable %0 is uninitialized when %select{used here|captured by block}1
-Wuninitialized reference %0 is not yet bound to a value when used here
-Wunneeded-internal-declaration %select{function|variable}0 %1 is not needed and will not be emitted
-Wunneeded-internal-declaration 'static' function %0 declared in header file should be declared 'static inline'
-Wunneeded-member-function member function %0 is not needed and will not be emitted
-Wunreachable-code will never be executed
-Wunsequenced multiple unsequenced modifications to %0
-Wunsequenced unsequenced modification and access to %0
-Wunsupported-friend dependent nested name specifier '%0' for friend template declaration is not supported ignoring this friend declaration
-Wunsupported-friend dependent nested name specifier '%0' for friend class declaration is not supported turning off access control for %1
-Wunsupported-visibility target does not support 'protected' visibility using 'default'
-Wunused-comparison %select{equality|inequality}0 comparison result unused
-Wunused-const-variable unused variable %0
-Wunused-exception-parameter unused exception parameter %0
-Wunused-function unused function %0
-Wunused-label unused label %0
-Wunused-member-function unused member function %0
-Wunused-parameter unused parameter %0
-Wunused-private-field private field %0 is not used
-Wunused-property-ivar ivar %0 which backs the property is not referenced in this property's accessor
-Wunused-result ignoring return value of function declared with warn_unused_result attribute
-Wunused-value ignoring return value of function declared with %0 attribute
-Wunused-value expression result unused should this cast be to 'void'?
-Wunused-value expression result unused
-Wunused-variable unused variable %0
-Wunused-volatile-lvalue expression result unused assign into a variable to force a volatile load
-Wused-but-marked-unused %0 was marked unused but was used
-Wuser-defined-literals user-defined literal suffixes not starting with '_' are reserved%select{ no literal will invoke this operator|}0
-Wvarargs second parameter of 'va_start' not last named argument
-Wvarargs 'va_start' has undefined behavior with reference types
-Wvarargs second argument to 'va_arg' is of promotable type %0 this va_arg has undefined behavior because arguments will be promoted to %1
-Wvector-conversion incompatible vector types %select{%diff{assigning to $ from $|assigning to different types}0,1|%diff{passing $ to parameter of type $|passing to parameter of different type}0,1|%diff{returning $ from a function with result type $|returning from function with different return type}0,1|%diff{converting $ to type $|converting between types}0,1|%diff{initializing $ with an expression of type $|initializing with expression of different type}0,1|%diff{sending $ to parameter of type $|sending to parameter of different type}0,1|%diff{casting $ to type $|casting between types}0,1}2
-Wvexing-parse parentheses were disambiguated as a function declaration
-Wvexing-parse empty parentheses interpreted as a function declaration
-Wvisibility declaration of %0 will not be visible outside of this function
-Wvisibility redefinition of %0 will not be visible outside of this function
-Wvla variable length array used
-Wvla-extension variable length arrays are a C99 feature
-Wweak-template-vtables explicit template instantiation %0 will emit a vtable in every translation unit
-Wweak-vtables %0 has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit

Lexer Warnings

Warning Message
-W#pragma-messages %0
-W#warnings %0
-W#warnings %0
-Wambiguous-macro ambiguous expansion of macro %0
-Wauto-import treating #%select{include|import|include_next|__include_macros}0 as an import of module '%1'
-Wbackslash-newline-escape backslash and newline separated by space
-Wc++11-compat identifier after literal will be treated as a user-defined literal suffix in C++11
-Wc++11-compat '%0' is a keyword in C++11
-Wc++98-c++11-compat digit separators are incompatible with C++ standards before C++1y
-Wc++98-c++11-compat-pedantic binary integer literals are incompatible with C++ standards before C++1y
-Wc++98-compat raw string literals are incompatible with C++98
-Wc++98-compat unicode literals are incompatible with C++98
-Wc++98-compat universal character name referring to a control character is incompatible with C++98
-Wc++98-compat '::' is treated as digraph ':' (aka '[') followed by ':' in C++98
-Wc++98-compat using this character in an identifier is incompatible with C++98
-Wc++98-compat specifying character '%0' with a universal character name is incompatible with C++98
-Wc++98-compat-pedantic variadic macros are incompatible with C++98
-Wc++98-compat-pedantic #line number greater than 32767 is incompatible with C++98
-Wc++98-compat-pedantic C++98 requires newline at end of file
-Wc++98-compat-pedantic empty macro arguments are incompatible with C++98
-Wc99-compat unicode literals are incompatible with C99
-Wc99-compat %select{using this character in an identifier|starting an identifier with this character}0 is incompatible with C99
-Wcomment '/*' within block comment
-Wcomment escaped newline between */ characters at block comment end
-Wdisabled-macro-expansion disabled expansion of recursive macro
-Wheader-guard %0 is used as a header guard here, followed by #define of a different macro
-Wignored-attributes unknown attribute '%0'
-Wincomplete-module header '%0' is included in module '%1' but not listed in module map
-Wincomplete-umbrella umbrella header for module '%0' does not include header '%1'
-Winvalid-token-paste pasting formed '%0', an invalid preprocessing token, DefaultError
-Wmalformed-warning-check __has_warning expected option name (e.g. \"-Wundef\")
-Wnewline-eof no newline at end of file
-Wnull-character null character ignored
-Wnull-character null character(s) preserved in string literal
-Wnull-character null character(s) preserved in character literal
-Wtrigraphs ignored trigraph would end block comment
-Wtrigraphs trigraph ignored
-Wundef %0 is not defined, evaluates to 0
-Wunicode universal character names are only valid in C99 or C++ treating as '\\' followed by identifier
-Wunicode \\%0 used with no following hex digits treating as '\\' followed by identifier
-Wunicode incomplete universal character name treating as '\\' followed by identifier
-Wunicode universal character name refers to a surrogate character
-Wunknown-pragmas unknown pragma ignored
-Wunknown-pragmas pragma STDC FENV_ACCESS ON is not supported, ignoring pragma
-Wunused-macros macro is not used

Parser Warnings

Warning Message
-Warc-bridge-casts-disallowed-in-nonarc '%0' casts have no effect when not using ARC
-Wattributes unknown __declspec attribute %0 ignored
-Wavailability 'unavailable' availability overrides all other availability information
-Wc++11-compat use of right-shift operator ('') in template argument will require parentheses in C++11
-Wc++11-compat 'auto' storage class specifier is redundant and incompatible with C++11
-Wc++98-c++11-compat 'decltype(auto)' type specifier is incompatible with C++ standards before C++1y
-Wc++98-compat range-based for loop is incompatible with C++98
-Wc++98-compat alias declarations are incompatible with C++98
-Wc++98-compat in-class initialization of non-static data members is incompatible with C++98
-Wc++98-compat defaulted function definitions are incompatible with C++98
-Wc++98-compat rvalue references are incompatible with C++98
-Wc++98-compat reference qualifiers on functions are incompatible with C++98
-Wc++98-compat inline namespaces are incompatible with C++98
-Wc++98-compat generalized initializer lists are incompatible with C++98
-Wc++98-compat trailing return types are incompatible with C++98
-Wc++98-compat enumeration types with a fixed underlying type are incompatible with C++98
-Wc++98-compat alignof expressions are incompatible with C++98
-Wc++98-compat '%0' keyword is incompatible with C++98
-Wc++98-compat 'decltype' type specifier is incompatible with C++98
-Wc++98-compat deleted function definitions are incompatible with C++98
-Wc++98-compat consecutive right angle brackets are incompatible with C++98 (use '> >')
-Wc++98-compat static_assert declarations are incompatible with C++98
-Wc++98-compat scoped enumerations are incompatible with C++98
-Wc++98-compat lambda expressions are incompatible with C++98
-Wc++98-compat attributes are incompatible with C++98
-Wc++98-compat 'alignas' is incompatible with C++98
-Wc++98-compat noexcept specifications are incompatible with C++98
-Wc++98-compat literal operators are incompatible with C++98
-Wc++98-compat noexcept expressions are incompatible with C++98
-Wc++98-compat 'nullptr' is incompatible with C++98
-Wc++98-compat-pedantic extra '' outside of a function is incompatible with C++98
-Wc++98-compat-pedantic extern templates are incompatible with C++98
-Wc++98-compat-pedantic commas at the end of enumerator lists are incompatible with C++98
-Wdangling-else add explicit braces to avoid dangling else
-Wdeprecated Use of 'long' with '__vector' is deprecated
-Wdeprecated-declarations use of C-style parameters in Objective-C method declarations is deprecated
-Wdeprecated-register 'register' storage class specifier is deprecated
-Wduplicate-decl-specifier duplicate '%0' declaration specifier
-Wextra-semi extra ';' after member function definition
-Wextra-tokens "extra tokens at the end of '#pragma omp %0' are ignored
-Wgcc-compat GCC does not allow %0 attribute in this position on a function definition
-Wignored-attributes attribute %0 ignored, because it is not attached to a declaration
-Wmicrosoft-exists dependent %select{__if_not_exists|__if_exists}0 declarations are ignored
-Wmissing-selector-name %0 used as the name of the previous parameter rather than as part of the selector
-Wsemicolon-before-method-body semicolon before method body is ignored
-Wsource-uses-openmp "unexpected '#pragma omp ...' in program
-Wstatic-inline-explicit-instantiation ignoring '%select{static|inline}0' keyword on explicit template instantiation

ios deprecated 警告消除 强迫症的选择的更多相关文章

  1. iOS 去除警告 看我就够了

    你是不是看着开发过程中出现的一堆的警告会心情一阵烦躁,别烦躁了,看完此文章,消除警告的小尾巴. 一.SVN 操作导致的警告 1.svn删除文件后报错 ”xx“is missing from worki ...

  2. ios CoreBluetooth 警告 is being dealloc'ed while pending connection

    ios CoreBluetooth 警告 is being dealloc'ed while pending connection CoreBluetooth[WARNING] <CBPerip ...

  3. UITextInputMode currentInputMode is deprecated. 警告的解决

    如果你的工程最低支持版本为7.0 你会发现有警告 : 'currentInputMode' is deprecated: first deprecated in iOS 7.0 替换方案:UIText ...

  4. 构建iOS稳定应用架构时方案选择的思考,主要涉及工程结构,数据流思想和代码规范

    工程结构架构,减少耦合混乱以及防治需求大改造成结构重构,如何构建稳定可扩展可变换的工程结构的思考 我打算采用Information flow的方式自上而下,两大层分为基础层和展现层的结构.基础层分为多 ...

  5. IOS开发 警告 All interface orientations must be supported unless the app requires full screen.

    在IOS开发中遇到警告  All interface orientations must be supported unless the app requires full screen. 只要勾上R ...

  6. 工作2-5年,身为iOS开发的我应该怎么选择进修方向?

    前言: 跳槽,面试,进阶,加薪:这些字眼,相信每位程序员都不陌生! 但是方向的选择,却不知如何抉择!其实最好的方向,已经在各个企业面试需求中完美的体现出来了: 本文展示了2份面试需求,以及方向的总结, ...

  7. iOS - 解决警告“ld: Warning: Directory Not Found for Option”

    有时候我们可能从项目中删除了某个目录.文件以后,编译出现警告信息: ld: warning: directory not found for option“XXXXXX” 具体类似下图: 很奇怪,为什 ...

  8. iOS常见算法(二分法 冒泡 选择 快排)

    二分法: 平均时间复杂度:O(log2n) int halfFuntion(int a[], int length, int number)  { int start = 0; int end = l ...

  9. IOS内存警告处理

    IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...

随机推荐

  1. 【转】Nutch的Hadoop方式爬取效率优化

    原文地址:http://my.oschina.net/junfrank/blog/290404

  2. 撸基础篇系列,JAVA的NIO部分

    前言:撸基础篇系列,避免每次都要从头开始看,写个自己的知识体系树 NIO 核心就是异步, 比如,复制文件,让操作系统去处理,等通知 BIO核心类 一,BIO NIO基本操作类 Bytebuffer 构 ...

  3. ERP实施规范化及示例——邮件沟通

    上门服务前 上门服务计划,要详细,提前发给客户,反复确定双方的行程 上门服务所需的常规文档(培训SOP,培训记录) 项目组内反复确认本次上门要完成的事项 …… 上门服务中 先跟老板沟通项目进展,本次上 ...

  4. 彻底理解Promise对象——用es5语法实现一个自己的Promise(上篇)

    本文同步自我的个人博客: http://mly-zju.github.io/ 众所周知javascript语言的一大特色就是异步,这既是它的优点,同时在某些情况下也带来了一些的问题.最大的问题之一,就 ...

  5. java基础:输出数组中指定位置的数据

  6. 入坑系列之HAProxy负载均衡

    在大型系统设计中用代理在负载均衡是最常见的一种方式,而相对靠谱的解决方案中Nginx.HAProxy.LVS.F5在各大场中用得比较普遍,各有各的优势和使用场景,由于本次要使用到TCP,因此Nginx ...

  7. 【收集】sql查询统计,周,月,年

    昨天 select * from tb where datediff(day, 时间字段 ,getdate()) = 1 今天 select * from tb where datediff(day, ...

  8. struts2(二) 表单参数自动封装和参数类型自动转换

    前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使 ...

  9. [LeetCode] Trapping Rain Water II 题解

    题意 题目 思路 我一开始想的时候只考虑到一个结点周围的边界的情况,并没有考虑到边界的高度其实影响到所有的结点盛水的高度. 我们可以发现,中间是否能够盛水取决于边界是否足够高于里面的高度,所以这必然是 ...

  10. PHP的错误处理

    PHP的错误处理机制 php的错误处理是比较复杂的, 本文讲解php中所有错误相关的重要知识点做一次梳理, 便于理解php的错误机制. 基础知识 在此之前, 先熟悉一下php error的基础知识 预 ...