exampleObject
というオブジェクトが2つの文字列プロパティ(moduleName
およびpool
)を持っています。文字列内のObjective-Cスペース
@property (nonatomic, assign) NSString *moduleName;
@property (nonatomic, assign) NSString *pool;
これらの両方IBActionがトリガされたときに、それぞれmoduleNameField
とという名前の2つのテキストフィールドを使用して設定されています
if (![[moduleNameField text] isEqualToString:@""]) {
[[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] setModulename:[moduleNameField text]];
}
if (![[poolField text] isEqualToString:@""]) {
[[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] setPool:[poolField text]];
}
のNSLog文で自分の価値を確認した後:
NSLog(@"The moduleName is:%@", [[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] moduleName]);
NSLog(@"The pool is:%@", [[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] pool]);
私は正しい出力を得ます:
The moduleName is:Module Name One
The pool is:Pool One
ここで奇妙なところがあります。しかし
The Name is:Module Name One
:私はそれを印刷し最初のログ文を取得することができるよ
NSString *theModName = [NSString stringWithFormat:@"%@\n", [self moduleName]];
NSLog(@"The Name is:%@",theModName);
NSString *thePool = [NSString stringWithFormat:@"%@\n", [self pool]];
NSLog(@"The Pool is:%@",thePool);
を:exampleObject
の関数を呼び出す際に、私が使用してpool
とmoduleName
プロパティを取得しよう、エラーメッセージなしで次の行にアプリケーションがクラッシュします。さらに興味深いのは、thePool
がスペースまたは大文字と小文字が混在した文字列の場合にのみクラッシュすることです。 「Pool One」ではなく、「Poolone」にしてしまえば、クラッシュすることはありません。
これについての洞察は非常に高く評価されます。
それを固定聖なる地獄は、 。私はプロパティを宣言するときに、より慎重になるでしょう!ありがとう:)それは私にできるだけ早くあなたの答えを受け入れるよ – hemlocker