objective-c - 对象间共享数据的单例模式

标签 objective-c ios singleton

我正在尝试使用单例模式在对象周围传递数据。这是我的代码

搜索数据.m

@implementation SearchData
@synthesize theName = _theName;

-(id)init
{
    if(self = [super init])
    {
        _theName = @"Default";
    }
    return  self;
}

static SearchData *sharedSingleton = NULL;

+(SearchData *)sharedSearchData
{
    @synchronized(self)
    {
        if (sharedSingleton == NULL) 
        {
            sharedSingleton = [[self alloc]init];
        }
        return sharedSingleton;
    }
}
@end

FirstView.m

...

-(id)init
{
    if (self = [super init]) 
    {
        SearchData *data = [SearchData sharedSearchData];
        self.aName = [data theName];
    }
    return self;
}

...

问题是我得到了

不兼容的指针类型将 NSString 发送到 NSStream 类型的参数。

这里有什么问题? 如何将数据传递给 aName ivar?

最佳答案

在你的 aName 声明中,你是否将 NSString 错误地输入为 NSStream?奇怪的事情发生了。

关于objective-c - 对象间共享数据的单例模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521347/

相关文章:

objective-c - 在 Swift 中使用 Objective-C 轻量级泛型类型为类型参数提供 AnyHashable

c# - 如何在 C# 中使用应用程序配置文件?

c++ - 为什么在我的单例类中未定义对互斥锁的引用

java - java中的单例模式。惰性初始化

objective-c - Objective C 仅后台应用程序 NSAlert 消息位于所有其他窗口之上

ios - swift:使用restkit输出json

objective-c - 如何创建一个c数组?

php - 向 iOS 设备发送数据

iphone - UIImageView 图像未在 GCD 的主线程上更新

ios - 为什么我无法在 ios swift 应用程序中设置 UIScrollView 的默认缩放?