我正在構建一個iphone應用程序,顯示錶視圖中的帖子。每篇文章都標有用戶當前位置,我正努力在詳細文本標籤中顯示。 post模型包括這些屬性顯示詳細位置TextLabel
@property (nonatomic, strong) NSString *content;
@property (strong) CLLocation *location;
在索引視圖我將單元配置像這樣:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
[self configureCell:cell forRowAtIndexPath:indexPath];
return cell;
}
- (void)configureCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
Post *post = [self.posts objectAtIndex:indexPath.row];
cell.textLabel.numberOfLines = 0;
cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
cell.textLabel.text = post.content;
這正確返回後的內容。 但是,當我嘗試在字幕中包含lat/lng時,它會崩潰。 這會導致系統崩潰,並引發了一個不兼容的指針類型的異常「的NSString從CLLocation」:
cell.detailTextLabel.text = post.location;
這是有道理的,因爲的.text期待一個字符串,位置在字典中,像這樣初始化:
- (id)initWithDictionary:(NSDictionary *)dictionary {
self = [super init];
if (!self) {
return nil;
}
self.content = [dictionary valueForKey:@"content"];
self.location = [[CLLocation alloc] initWithLatitude:[[dictionary nonNullValueForKeyPath:@"lat"] doubleValue] longitude:[[dictionary nonNullValueForKeyPath:@"lng"] doubleValue]];
return self;
}
那麼如何返回字幕標籤中的位置? 我也想顯示一個時間戳,並懷疑它是一個類似的解決方案。 在我的崗位模型實現文件我#IMPORT「ISO8601DateFormatter.h」以格式字符串的日期,同樣我:
static NSString * NSStringFromCoordinate(CLLocationCoordinate2D coordinate) {
return [ NSString stringWithFormat:@"(%f, %f)", coordinate.latitude, coordinate.longitude];
}
但我不知道如何將所有成一個簡單的detailTextLabel這一點。
任何幫助將不勝感激。
編輯
我做了這個數額的進步: 的緯度和經度顯示integers-但它不是正確的緯度/經度,即它實際上沒有讀取正確的整數。
cell.detailTextLabel.text = [NSString stringWithFormat:@"at (%f, %f)", post.location];
lat和顯示LNG是這樣的: 0.00,-1.9 當它應該是: LAT 「:」 37.785834" , 「LNG」:「 - 122.406417。 所以它實際上並沒有讀到「post.location」 這行的結尾,那我怎麼才能讓它顯示正確的數據呢?
乾杯埃斯克,糾正。 –
引發異常:ARC不允許將int隱式轉換爲NSString。 – grantvansant
你正在試圖使用一個字符串,它期望一個int。它發生在哪條線上? –