我在使用注释查看MapKit信息时遇到问题。将HTML转换为纯文本的MapKit注解
1
A
回答
0
我看不到stringByStandardizingWhitespace方法调用你粘贴的上述代码...如果你可以发布有错误的代码将是有帮助的。使用调试器知道在哪里出错是发生......
同样一个错误,是没有关系的,你指定的语法/错误,但会影响后面的逻辑:
你TPO LAT分配gps_long标签和反之亦然...
1
我遇到了类似的问题。你并不疯狂。我相信这是MapKit代码中的一个错误。 Annotation对象不会创建它自己的传递给它的字符串的副本。当你的字符串超出范围时,地图会作出不正确的参考。尝试重新分配字符串,然后再通过它们。像这样:
NSString *tempT = [[NSString alloc] initWithString:itemT];
NSString *tempA = [[NSString alloc] initWithString:itemA];
addAnnotation = [[MapAnnotation alloc] initWithCoordinate:essai :tempT :tempA];
然后在您完成显示地图之前不要释放它们。
+0
见Rickay的答案,他找到了根本问题。 – Jonesy
1
我遇到了与Jonesy提到的完全相同的问题,但是的一个修复程序。我不知道你有什么样的班级为您的注解,但我用这样的:
Annotation.h:
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
#import <UIKit/UIKit.h>
@interface LocationAnnotation : NSObject <MKAnnotation> {
CLLocationCoordinate2D coordinate;
NSString* title;
NSString* subtitle;
}
@property (nonatomic, assign) MKPinAnnotationColor pinColor;
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic, copy) NSString* title;
@property (nonatomic, copy) NSString* subtitle;
- (id)initWithCoordinate:(CLLocationCoordinate2D) c
title:(NSString*) t
subtitle:(NSString*) st;
- (void)moveAnnotation:(CLLocationCoordinate2D) newCoordinate;
- (NSString*)subtitle;
- (NSString*)title;
@end
而且Annotation.m:
#import "LocationAnnotation.h"
@implementation LocationAnnotation
@synthesize coordinate, pinColor, title, subtitle;
- (NSString *)subtitle {
return subtitle;
}
- (NSString *)title {
return title;
}
-(id)initWithCoordinate:(CLLocationCoordinate2D) c
title:(NSString*)t
subtitle:(NSString*)st
{
coordinate = c;
self.title = t;
self.subtitle = st;
return self;
}
- (void)moveAnnotation:(CLLocationCoordinate2D)newCoordinate
{
coordinate = newCoordinate;
}
- (void)dealloc
{
[title release];
[subtitle release];
[super dealloc];
}
@end
来实现它:
Annotation* ann = [[[Annotation alloc] initWithCoordinate:startLocation title:someStringAutoreleasedOrNot subtitle:someOtherStringAutoreleasedOrNot] autorelease];
[yourMapView addAnnotation:ann];
真的,这里的关键是,在注释类中,标题和字幕属性被声明为键入副本。这会为您分配的字符串创建一个新副本,因此可以在不引起您遇到的崩溃的情况下发布它。
相关问题
- 1. 将HTML文本转换为纯文本
- 2. 将纯文本输入转换为HTML
- 3. Ruby:将HTML/Redcloth转换为纯文本
- 4. 将html转换为纯文本jquery .ajax
- 5. 如何将解析的文本转换为纯文本
- 6. 将纯文本HTML转换为真正的HTML MySQL> Excel
- 7. 如何将HTML文本转换为纯文本?
- 8. 将脚本html标记转换为纯文本
- 9. 将html转换为VBA中的纯文本
- 10. 是否有将HTML转换为纯文本的功能?
- 11. 将RTF转换为纯文本格式
- 12. 如何将纯文本转换为xsl
- 13. 如何将纯文本转换为ODF?
- 14. 将表单转换为纯文本
- 15. 将纺织品转换为纯文本
- 16. 将html转换为文本
- 17. 将html表转换为monospace字体纯文本表?
- 18. 将纯文本电子邮件转换为HTML邮件
- 19. 如何将纯文本转换为HTML(最好使用Perl)?
- 20. 使用C++将HTML转换为纯文本
- 21. 在C中将HTML转换为纯文本#
- 22. Outlook - 将纯文本转换为HTML - 在2007年不起作用
- 23. 将HTML转换为纯文本(包含<br> s)
- 24. 如何将XPath元素转换为纯HTML文本?
- 25. 经典ASP(VBScript)将HTML代码转换为纯文本
- 26. 将包含反斜杠的富文本转换为纯文本或html
- 27. 如何将MySQL中的RTF文本转换为纯文本?
- 28. 如何将降价(WMD)文本转换为纯文本
- 29. 使用JavaScript的HTML转换为纯文本
- 30. 将纯文本HTML文件转换为二进制文件Excel 97-2003
stringByConvertingHTMLToPlainText是你添加到字符串的扩展吗?你应该发布,因为那里的错误发生,没有人能够帮助你,否则 – Daniel