2013-02-09 24 views
0

四處串當我嘗試從NSManagedObject得到一個字符串值,我得到這個從NSManagedObject

<Entity: 0x1e043140> (entity: Entity; id: 0x1e041c30 <x-coredata://8F48C331-B879-47B4-B257-4802A13ED12C/Entity/p4> ; data: { 
number = "<UITextField: 0x1d8b7cc0; frame = (159 183; 161 30); text = 'test'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x1d8b3c10>; layer = <CALayer: 0x1d892a30>> : "; 
}) 

我怎麼從這個字符串(它的文本=「測試」;)

我得到使用該

NSString *rowValue = [self.fetchedResultsController objectAtIndexPath:indexPath]; 

確定的對象,以及在nsmanaged對象是這樣的,並設置一個UITableView單元格對應的字符串

NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath]; 

cell.textLabel.text = [[object valueForKey:@"number"] description]; 

它顯示它做什麼的原因是因爲,正如你所看到的,我得到它的描述。我找不到可以返回文本值的屬性,所以有人知道如何?謝謝。

+0

你必須獲得實際的'UITextField'並使用它的'text'屬性。 – 2013-02-09 22:31:46

+0

我該怎麼做 – 2013-02-09 22:37:01

+0

我不知道。這裏的信息很少。 – 2013-02-09 22:37:42

回答

1

我假設錯誤已經發生,當你在管理對象的值。也許你做這樣的事情

[myObject setValue:[aTextField description] forKey:@"number"] 

而不是存儲在文本字段的文本內容:

[myObject setValue:[aTextField text] forKey:@"number"] 

UPDATE:正如你在評論寫,管理對象值存儲爲

NSString *string = [NSString stringWithFormat:@"%@ : %@", self.numtext, self.comtext]; 
[newManagedObject setValue:string forKey:@"number"]; 

%@格式爲UITextField本身擴展爲文本字段說明,而不是文本內容。因此,string已經看起來像

"<UITextField: 0x1d8b7cc0; frame = (159 183; 161 30); text = 'test'; .... " 

這個字符串存儲作爲管理對象的「數量」屬性。你應該使用下面的代碼來代替:

NSString *string = [NSString stringWithFormat:@"%@ : %@", self.numtext.text, self.comtext.text]; 
[newManagedObject setValue:string forKey:@"number"]; 

請注意,您必須刪除舊的數據庫測試這個時候擺脫已有的錯誤條目。

+0

我像這樣添加它'NSString * string = [NSString stringWithFormat:@「%@:%@ 「,self.numtext,self。comtext]; [newManagedObject setValue:string forKey:@「number」];' – 2013-02-09 22:50:48

+0

如果'self.numtext','self.comtext'是'UITextField'變量,那麼你必須使用'[NSString stringWithFormat:@「%@:%@」,self.numtext.text,self.comtext.text] '。 – 2013-02-09 22:53:13

+0

這確實幫了我,我只是注意到我在那裏做錯了,但它仍然不會顯示字符串。 – 2013-02-09 22:59:20

-1

你應該寫:

Entity *entity = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
NSString *rowValue = entity.text; 

編輯:

OK,然後嘗試object.number.text;

+0

實體沒有文本屬性 – 2013-02-09 22:44:13

+0

我試過'object.number'(數字是一個字符串),但仍然不起作用 – 2013-02-09 22:59:53

0
NSString *str = managedObject.objectID.URIRepresentation.absoluteString