iphone - 获取 NSString 变量的值

标签 iphone objective-c nsstring

我有一个奇怪的问题。 pictureLink是.h中声明的全局变量

 NSString *pictureLink;
}
@property(retain,nonatomic) NSString *pictureLink;

我写了这段代码

NSString * myPictureUrl=[NSString stringWithFormat:@"http://mywebsite.com/uploads/%@.jpg",hash];
pictureLink=myPictureUrl;

我有一个奇怪的结果,它一定是一个指针 或者

pictureLink=[NSString stringWithFormat:@"http://mywebsite.com/uploads/%@.jpg",hash];

我有 EXC_BAD_ACESS 错误

最佳答案

这是内存管理错误,您没有在代码中保留 myPictureUrl

[NSString stringWithFormat:@"http://mywebsite.com/uploads/%@.jpg",hash]; 返回一个自动释放的值,因此您有两个选择:

  1. pictureLink=myPictureUrl; 应类似于 [self setPictureLink:myPictureUrl];
  2. 执行[myPictureUrl keep];,并且不要忘记稍后释放它。

考虑为您的项目使用 ARC(自动保留计数)。使用 ARC,编译器会处理保留计数,因此您不必这样做,实际上不允许这样做。有一个重构可以转换当前项目。

关于iphone - 获取 NSString 变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505975/

相关文章:

ios - 隐藏/显示导航栏中两个右侧栏按钮之一

iphone - AVAudioRecorder 抛出错误

ios - 如何在 Apple App Store 上重新创建探索菜单

ios - 如果语句有时与 id BoolValue 比较失败?

objective-c - 使用 NSScanner 解析字符串

ios - 快速将 NSString 转换为 Unsigned Short

iphone - UIView 范围外的用户交互

iphone - 在 iOS5 中,我在图库中切换图片的方法很糟糕

ios - 获取 UICollectionViewCell 标签文本

ios - '-[__NSArrayM _fastCStringContents :]: unrecognized selector sent to instance