升级到xcode 4.6和iOS 6.1后出错“,用作前一个参数的名称而不是select器的一部分”
更新到xcode 4.6和ios6.1之后,我得到这个新的错误“'objectType'作为前一个参数的名称,而不是作为select器的一部分 ”。 我多次得到这个。 有任何想法吗?
PS:它显示的方法是用于反向地理编码的自定义方法。
-(void) getAddress: (NSString *) objectType: (CLLocationCoordinate2D) objectCoordinate
它说, objectType
是方法中的NSString
对象的名称,不是方法名称的一部分,不应该用作objectType: (CLLocationCoordinate2D) objectCoordinate
,通常表示方法名称的一部分。
理想情况下,你应该改变,
-(void) getAddress: (NSString *) objectType: (CLLocationCoordinate2D) objectCoordinate
更具可读性,
-(void) getAddress:(NSString *)objectType coordinate:(CLLocationCoordinate2D) objectCoordinate;
上面的错误也可以通过在方法定义中添加objectType
和next param之间的空格来解决(例如: – -(void)getAddress:(NSString *)objectType : (CLLocationCoordinate2D)objectCoordinate
)。 注意objectType
之后的空格。
更新:
要回答评论中的问题,您可以使用下面的代码来抑制这些警告:
#pragma clang diagnostic ignored "-Wmissing-selector-name"
把这个添加到你的pch文件中。 我不知道这是否适用于你的情况,它来自图书馆,但你可以尝试一下。 查看这个铿锵的主干更多细节。
这是所有关于间距,亲爱的 …作为@马丁R说:这个,可辩论的更好的问题 …
“在第二个参数之前插入一个空格就足够了”
足够的意义,在这里,Xcodeclosures了地狱..
在那个古怪的琐事中,这是我最喜欢的Cocoa头文件,EVER。 是的,这些都是有效的方法名称,嘿嘿。
@interface NSString (JASillyString) -:a; -:a :b; -:a :b :c; -:a :b :c :d; -:a :b :c :d :e; -:a :b :c :d :e :f; -:a :b :c :d :e :f :g; -:a :b :c :d :e :f :g :h; -:a :b :c :d :e :f :g :h :i; -:a :b :c :d :e :f :g :h :i :j; -:a :b :c :d :e :f :g :h :i :j :k; -:a :b :c :d :e :f :g :h :i :j :k :l; -:a :b :c :d :e :f :g :h :i :j :k :l :m; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w :x; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w :x :y; -:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t :u :v :w :x :y :z; @end
你的方法是声明select器使用空格,
-(NSString *)testMethod:(double)price :(BOOL)flag;
注意提到.h和.m两者是相同和相等的空间
当回顾方法,那个时候小心方法和它的论点。 像[self testMethod:4.5(space):TRUE];