我创建了一个 Xcode 应用程序,在这个案例评论中使用核心数据框架存储用户输入(细节和评级 0-5)。
所以基本上我已经设法创建了一个 View Controller 来存储用户输入,然后将其显示在 TableView Controller 中。
然后用户可以从 TableView Controller 中选择他们想要的任何现有评论,然后将他们带到一个新的 View Controller ,该 View Controller 显示用户选择的特定评论。
问题是我已经设法使用此代码“[self.detailView setText:[self.managedObject valueForKey:@"detail"]];
”显示字符串值,但我无法获取它显示在核心数据中存储为整数(16)的评分值。
.h 细节 View Controller
#import <UIKit/UIKit.h>
#import "reviewTableViewController.h"
#import "reviewViewController.h"
#import "Reviews.h"
@interface reviewDetailViewController : UIViewController <NSFetchedResultsControllerDelegate, UITextFieldDelegate> //adding fetched controller delegate and text field delegate
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (strong, nonatomic) IBOutlet UITextView *detailView; //holds detail values
@property (nonatomic, strong) Reviews *reviews; //property for holding reviews
@property (strong) NSManagedObject *managedObject; //hold core data property
@property (strong, nonatomic) IBOutlet UILabel *ratingView; //holds rating values
@property (strong, nonatomic) IBOutlet UIButton *myButton;
@property (strong, nonatomic) IBOutlet UIButton *myButton1; //buttons for borders
@end
.m 细节 View Controller
- (void)viewDidLoad
{
[super viewDidLoad];
_myButton.layer.borderWidth = .5f;
_myButton.layer.borderColor = [[UIColor lightGrayColor]CGColor]; //adding borders for tet displa using buttons, when screen loads
_myButton1.layer.borderWidth = .5f;
_myButton1.layer.borderColor = [[UIColor lightGrayColor]CGColor];
[self.detailView setText:[self.managedObject valueForKey:@"detail"]]; //displaying detail value
//[self.ratingView setText:[self.managedObject valueForKey:@"rating"]];
//[self.ratingView setValue:[NSNumber numberWithInteger:managedObject] forKey:@"rating"];//displaying rating value
//[self.puzzle setValue:[NSNumber numberWithInt:timeTaken] forKey:@"bestTime"];
}
.m TableView Controller
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get a reference to our detail view
// Pass the managed object context to the destination view controller
// [super prepareForSegue:segue sender:sender];
// If we are editing a picture we need to pass some stuff, so check the segue title first
if ([[segue identifier] isEqualToString:@"detailSegue"]) //using segue link name given
{
//Get the row we selected to view
NSManagedObject *managedObjects = [self.reviewsArray objectAtIndex:[[self.tableView indexPathForSelectedRow] row]]; //choosing the selected cell value
reviewDetailViewController *destViewController = segue.destinationViewController;
destViewController.managedObject = managedObjects; //displaying it in the destination controller
}
}
最佳答案
您需要将整数转换为字符串。
[self.ratingView setText:[NSString stringWithFormat:@"%@", [self.managedObject valueForKey:@"rating"]]];
关于ios - 在标签或 TextView 中使用核心数据显示整数值( Objective-C ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23416412/