分配给模型类中的属性的值在视图/控制器类中消失

2024-04-09

在我的模型类发送变量之前stringToDisplay, NSLog 告诉我它有一个值。但是当我尝试在我的 ViewController 中使用它时,我只是得到(null)。对我做错了什么有什么想法吗?

(好消息是,在研究这个问题的过程中,我在理解模型和控制器如何相互关联方面取得了突破。我仍然是一个完全的新手,但我并不像以前那样感到失落。 )

这是我认为的相关代码:

计算器大脑.h

#import <Foundation/Foundation.h>

@interface CalculatorBrain : NSObject
@property (nonatomic) NSMutableString *stringToAdd;
@property (nonatomic,strong) NSString *stringForDisplay;

- (double)performOperation:(NSString *)operation withArray:(NSMutableArray *)particularStackYouNeedToPopOff;

计算器脑.m

@implementation CalculatorBrain
@synthesize stringToAdd = _stringToAdd;
@synthesize stringForDisplay = _stringForDisplay;
@synthesize whatHappenedSinceLastClear = _whatHappenedSinceLastClear;

- (double)performOperation:(NSString *)operation withArray:(NSMutableArray *)particularStackYouNeedToPopOff
{
<long code that I think doesn't matter because this NSLog produces exactly what I want it to:>
NSLog(@"%@",stringForDisplay);
return result;
}

CalculatorViewController.h

#import <UIKit/UIKit.h>

@interface CalculatorViewController : UIViewController
@property (nonatomic) NSArray *arrayOfDictionaries;
@property (nonatomic) NSDictionary *dictionary;
@property (weak, nonatomic) IBOutlet UILabel *variablesUsed;
@property (nonatomic, strong) NSString *operation;

@end

CalculatorViewController.m

#import "CalculatorViewController.h"
#import "CalculatorBrain.h"

@interface CalculatorViewController ()
@property (nonatomic,strong) CalculatorBrain *brain;
@end

@implementation CalculatorViewController
@synthesize display = _display;
@synthesize history = _history;
@synthesize brain = _brain;
@synthesize operation = _operation;


- (IBAction)operationPressed:(UIButton *)sender 
{
NSString *otherString=[self.brain stringForDisplay];
if (self.userIsEnteringNumber) [self enterPressed];
NSString *operation = sender.currentTitle;
double result = [self.brain performOperation:operation withArray:[self.brain whatHappenedSinceLastClear]];
self.display.text = [NSString stringWithFormat:@"%g",result];
self.history.text = otherString;
NSLog(@"%@",otherString);
}

最后一行代码中的 NSLog 给了我(null).

有什么想法吗?


也许我错过了一些东西,但你的财产是在类扩展中声明的CalculatorBrain所以外面没有人CalculatorBrain.m了解此属性。

因此,如果您想将此属性公开给其他对象,则必须在中声明它CalculatorBrain.h反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分配给模型类中的属性的值在视图/控制器类中消失 的相关文章

  • 在 iPhone 上切换静音模式和响铃模式

    是否可以在 iPhone 上从静音模式切换到响铃模式 反之亦然 以编程方式 根据苹果公司的说法 这违反了人机界面指南 因此不应该这样做 并且应用程序可能会因此而被拒绝
  • UICollectionView cellForItemAtIndexPath 未注册单元格

    我正在尝试使用UICollectionViewCell 因为我想显示的只是一张图像 我可以使用将图像添加到单元格中UIColor colorWithImage on the UICollectionViewCell s contentVie
  • 如何在按下按钮之前停止响应震动?

    我目前正在制作一个 iPhone 应用程序 动画会对轻微的震动做出反应 这是我的代码 static BOOL SJHShaking UIAcceleration last UIAcceleration current double thre
  • 为什么我们需要一个临时对象?

    正如我在许多示例中看 到的那样 首先它们为临时对象分配内存 然后将同一对象分配给 self 例如 我这里有一个代码片段 void viewDidLoad super viewDidLoad Movie newMovie Movie allo
  • 视频轨道后面的AVFoundation UIImage

    我当前正在渲染一个小于输出大小的视频轨道 该视频轨道工作正常 我想将 UIImage 绘制到背景中 以便视频位于顶部 而图像则显示在视频不存在的区域中 我尝试使用 CoreAnimation Layers 和 videoCompositio
  • 循环遍历 NSMutableDictionary

    如何循环遍历 NSMutableDictionary 中的所有对象而不考虑键 标准方式如下所示 for id key in myDict id value myDict objectForKey key value doStuff
  • 在 Xcode 4 中将 iPhone 应用程序转换为通用应用程序

    我正在尝试将现有的 iPhone 应用程序项目升级为通用应用程序 但我在 Xcode 4 中找不到任何选项来执行此操作 它在哪里 接受的答案是错误的 创建新目标是指如何从 iPhone 应用程序创建单独的 iPad 应用程序 即可以编译为
  • 我的子视图中的 UIButton 不起作用

    我正在创建一个名为 InfoAboutBlockView 的自定义 UIView 我将其添加到我的 ViewController 中并且添加正确 但是当我按下该自定义 UIView 内的按钮时 它不会触发 我正在创建一个 xib 文件 在其
  • 当具有 PagingEnabled 的 UIScrollView 更改页面时如何更新 UIPageControl?

    我该如何做到这一点 以便当用户滚动到 UIScrollView 中的新页面时 UIPageControl 更新 我以前用过这个 看起来效果很好 请务必将 UIScrollView delegate 设置为 self pragma mark
  • 使用线程安全单例初始化代码时代码执行停止

    为了利用全局变量和方法 我实现了 Singleton 作为一种健康的编码实践 我跟着苹果文档 http www johnwordsworth com 2010 04 iphone code snippet the singleton pat
  • 不使用 MFMailComposeViewController 发送邮件

    我想从 iPhone 应用程序发送邮件而不显示MFMailComposeViewController 我还希望从用户的默认邮件帐户发送此邮件 是否有可能做到这一点 iPhone SDK 不支持这一点 可能是因为 Apple 不希望您这样做
  • 动态模拟iOS动态类型系统文本大小(UIContentSizeCategory)

    我想使用不同的系统文本大小选择 包括辅助功能大小 轻松测试我的应用程序 这些可以在 设置 应用程序中进行设置 显示和亮度 gt 文本大小或常规 gt 辅助功能 gt 较大文本 目前我能找到的唯一方法是进入 设置 并使用 UI 更改值 编辑
  • 处于编辑模式时滑动即可删除

    我有一个使用 uitableview 的 iPhone 应用程序 我希望始终显示 重新排序 控件 并让用户滑动以删除行 我目前采取的方法是将表格视图置于编辑模式并允许在编辑模式下进行选择 self tableView editing YES
  • C++ 引用类型作为 Objective-C++ 中的实例变量

    Objective C 中禁止将 C 引用类型用作实例变量 我该如何解决这个问题 您不能明智地使用引用作为实例变量 因为无法初始化实例变量并且无法重新放置引用 另一种选择可能是简单地使用 可能是智能的 指针 另一种让您更接近 C 行为的可能
  • 如何从 Swift 调用 Objective-C 代码?

    在 Swift 中 如何调用 Objective C 代码 Apple 提到它们可以在一个应用程序中共存 但这是否意味着在技术上可以重用 Objective C 中创建的旧类 同时在 Swift 中构建新类 在 Swift 中使用 Obje
  • 如何在 UILabel.text 中添加制表符空间

    我有一个 UILabel 实例 比如 mylabel 我想做的是这样的 mylabel text Age tLimit tYear instead of mylabel text Age Limit Year 但当我尝试时 t 未被识别 如
  • iOS App Today 扩展未上传到物理设备

    我正在为我的应用程序创建一个今日小部件http budgt ch http budgt ch因为一些用户要求快速访问关键功能 初步 扩展在 iOS 模拟器上运行良好 安装如下 1 安装最新的容器应用程序 2 安装以 今天 为容器的扩展 但是
  • for 循环内存不足

    嘿 所以我认为如果我制作一个生成随机密码的小应用程序 然后让该应用程序运行所有可能性并尝试查看密码是什么 告诉我它尝试了多少次 那会很酷 有时应用程序可以工作 有时会崩溃 具体取决于密码是什么 我想知道是否可以采取任何措施来防止它因占用大量
  • UITextField 文本更改事件

    如何检测文本字段中的任何文本更改 委托方法shouldChangeCharactersInRange适用于某些东西 但它并不能完全满足我的需求 因为在它返回 YES 之前 textField 文本不可用于其他观察者方法 例如在我的代码中ca
  • NSMutableArray 实例变量内存管理

    我正在做最后一点内存管理整理 但有些东西我不明白 我已经检查了所有文档 Stack Overflow 等 但仍然不明白 我怀疑这与数组有关 我有一个NSMutableArray作为实例变量 我用它来保存从另一个数组中的对象创建的对象 vie

随机推荐

  • PHP升级到7版本后,为什么无法使用mongodb驱动?

    这是我发现的一个奇怪的情况 我一直在一个项目中同时使用 PHP 和 MongoDB 并更新了相关软件 升级后 我确实更新了新的conf文件 一切都很好 除了当我尝试使用MongoClient类中 我收到以下致命错误 致命错误 未捕获错误 在
  • 如何对wp_query的结果进行排序

    我正在尝试对 wp query 的结果进行排序 我想按不同的参数对其进行排序 而不再次进行查询 我有类似的东西 the query new WP Query args 我想对 the query 进行排序 WP Query 返回这样的结构
  • WPF ClickOnce DPI 感知每监视器 v2

    我将设置这个问题并自己回答 以便其他人可以更轻松地搜索并找到正确的答案 我不得不用谷歌搜索几个小时并从多个来源编译最终结果 所以问题是 如何在 ClickOnce 场景 WPF 特别是 c 中启用 Per Monitor v2 DPI 感知
  • Cordova 3.3 - fileSystem.root.fullPath 返回“/”而不是完整路径

    我有一段使用 Cordova 2 7 的代码 我将我的应用程序升级到 Cordova 3 3 并升级了我开发的所有自定义插件 我使用 Cordova 2 7 成功获取了 iOS 上 Documents 目录的完整绝对路径 但使用 Cordo
  • 如何通过在打字稿中调用函数来关闭bootstrap 4模式

    我正在使用 bootstrap 4 模式 然后是example https www w3schools com bootstrap4 bootstrap modal asp 下面是template code div class contai
  • Nhibernate:获取真实的实体类而不是代理类[重复]

    这个问题在这里已经有答案了 有没有办法让 nhibernate 返回我的类而不是它的代理类 如果不是偷懒或者不能更新我不介意 您可以使用此代码取消代理类 session PersistenceContext Unproxy proxiedI
  • iTunes风格模态视图控制器链(表单)

    有没有办法实现 iTunes 风格的模态视图控制器链 见截图 我环顾四周但找不到任何关于此的真正问题 我不是在寻找替代品或解决方法 只是想知道是否可以使用当前的 SDK 或 iOS 5 0 尽管我们不应该谈论它 简单的是 否就足够了 对于那
  • 对 Android APK 进行逆向工程以获取代码? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 从 APK 文件获取源代码 https stackoverflow com questions 3593420 android getting source code from an
  • 如何使用 iOS 图表更改无数据消息?

    使用时iOS 图表 https github com danielgindi charts并且没有数据 有一条默认消息显示 没有可用的图表数据 这个默认值可以编辑和处理翻译吗 这是您在显示数据之前自定义图表外观的方法 IBOutlet pr
  • Unescape 或 html 解码

    我正在使用树枝 1 12 2 我的代码从代码隐藏生成一些元素 当使用最新版本的 twig 渲染这些元素时 它们会进行 html 编码 for item in files folders tr class td img src border
  • 为什么即使 use_transactional_fixtures = false after_commit 也没有运行

    rspec 中的事务装置会阻止调用 after commit 但即使我使用以下命令禁用它们 RSpec configure do config config use transactional fixtures false end The
  • 比较 Double 和 Int 的最佳方式是什么?

    以下 C 代码不起作用 int iValue 0 double dValue 0 0 bool isEqual iValue Equals dValue 那么问题来了 比较 Double 和 Int 的最佳方法是什么 您确实不能以天真的方式
  • 交互式闪亮全局日期选择器

    我正在一个没有良好日期选择器的环境中使用 R 并且我正在尝试使用 R 弹出一个日期选择器来填补空白 大多数 R 日期选择器都需要 GTK 等 UI 库 闪亮的没有 我想做的就是弹出一个日期选择器 让用户选择日期 然后结束闪亮的会话并将日期传
  • 如何检测 Java 系统属性是否已更改?

    我想知道系统属性何时更改 我在应用程序服务器中有一个应用程序 它以某种方式更改系统属性 System setProperty 我认为 我看了看 发现了不同的方法 JPDA https stackoverflow com questions
  • Collections.sort 方法抛出类 java.lang.Integer 无法转换为类 java.lang.Double 错误[重复]

    这个问题在这里已经有答案了 我从基于空手道的 API 自动化中的 JSON 响应获取一些运行时值 我将它们存储到 ArrayList 中 例如 def ArrayList Java type java util ArrayList def
  • 具有动态数据库连接的flask-sqlalchemy

    我有一个主数据库 其中存储每个客户端自己的数据库连接 因此每个客户端都使用 2 个数据库 主数据库和自己的数据库 必须确定其连接 对于每个 http 调用 我怎样才能使用flask sqlalchemy扩展来做到这一点 或者可能是 纯粹是s
  • Dart 中的“const”和“final”关键字有什么区别?

    两者有什么区别const and finalDart 中的关键字 dart 的网站上有一篇文章 解释得很好 https news dartlang org 2012 06 const static final oh my html Fina
  • MySQL数据类型仅存储月份和年份[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在编写一个 PHP 应用程序来存储STUDENTMySQL 关系数据库中的数据 我正在尝试找到最好的方法 数据类型来存储月份和年份而不需要日
  • WKHTMLTOPDF 不渲染 Base64 图像

    我有以下简单的 HTML 页面 div img src data image gif base64 R0lGODlhFwAPAKEAAP wAAAMzMzLi3tywAAAAAFwAPAAACQIyPqQjtD98RIVpJ66g3hgEY
  • 分配给模型类中的属性的值在视图/控制器类中消失

    在我的模型类发送变量之前stringToDisplay NSLog 告诉我它有一个值 但是当我尝试在我的 ViewController 中使用它时 我只是得到 null 对我做错了什么有什么想法吗 好消息是 在研究这个问题的过程中 我在理解