我有一個名爲exampleObject
的對象,具有兩個字符串屬性:moduleName
和pool
。字符串中的Objective-C空格
@property (nonatomic, assign) NSString *moduleName;
@property (nonatomic, assign) NSString *pool;
這兩種分別使用名爲moduleNameField
和兩個文本字段設置,當IBAction爲被觸發:
NSLog(@"The moduleName is:%@", [[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] moduleName]);
NSLog(@"The pool is:%@", [[[appDelegate moduleList] objectAtIndex:[appDelegate moduleNum]] pool]);
:
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語句中檢查自己的價值後
我得到正確的輸出:
The moduleName is:Module Name One
The pool is:Pool One
這是它變得奇怪的地方。當調用exampleObject
的功能,我嘗試使用檢索pool
和moduleName
屬性:
NSString *theModName = [NSString stringWithFormat:@"%@\n", [self moduleName]];
NSLog(@"The Name is:%@",theModName);
NSString *thePool = [NSString stringWithFormat:@"%@\n", [self pool]];
NSLog(@"The Pool is:%@",thePool);
我能去的第一個日誌聲明,它打印:
The Name is:Module Name One
然而,該應用程序在沒有錯誤消息的情況下在下一行崩潰。更有趣的是,它只在thePool
是帶空格或大小寫混合的字符串時纔會崩潰。如果不是「Pool One」,我已經把它變成了「Poolone」,它不會崩潰。
任何洞察到這一點將不勝感激!
神聖的地獄,是固定的, 。聲明屬性時我會更加小心!謝謝:)我會盡快接受你的回答 – hemlocker