我有聲明瞭一個用戶,並且包括這些變量的類:Xcode中:@dynamic類變量不工作
(User.h文件):
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * unid;
(User.m文件):
@dynamic name;
@dynamic unid;
我有一個解析字符串值的數組。 我再要設置相應的值:
(ViewController.m文件):
[user setName:[returned objectAtIndex:1]];
[user setUnid:[returned objectAtIndex:2]];
當此運行編譯器給了我以下錯誤:
unrecognized selector sent to instance
*** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate: <NSInvalidArgumentException> -[User setName:]: unrecognized selector sent to instance
當我發表評論出setName行它工作正常。
我然後看着從返回的數組的兩個對象的類和它們都是:__NSCFString
我然後試圖這段代碼:
(ViewController.m文件):
[user setName:[returned objectAtIndex:2]];
再次發生同樣的錯誤。
爲什麼同一輸入在一種情況下會失敗並在另一個輸入中成功?如果他們都期待相同的輸入?
謝謝。
編輯:
此錯誤是不可思議的應用程序,這部分不與任何網頁視圖進行交互。這個返回的數組是從一個字符串解析收集來自網頁:
(ViewController.m文件):
NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://url_goes_here.com" encoding:NSUTF8StringEncoding error:&error];
NSArray *returned = [returned componentsSeparatedByString:@"#"];
然而,UNID也從這個陣列分析沒有任何問題。
爲什麼你使用「'@ dynamic」「而不是」'@ synthesize'「? –
它實際上是一個由xcode使用核心數據的NSManagedObject子類設置的類。 – carloabelli