美文网首页iOS面试题
iOS中NSString的相关基础面试

iOS中NSString的相关基础面试

作者: 蜡笔小新Zzz | 来源:发表于2019-08-08 09:30 被阅读1次

如题

定义NSString使用assign进行修饰
@property (nonatomic, assign) NSString *assginStr

  • 问题一
  NSMutableString *originStr = [[NSMutableString alloc] initWithFormat:@"小明"];
    
//    NSString *originStr = @"小明";
    
    self.assginStr = originStr;
    
    NSLog(@"内容打印\noriginStr:%@,\nassginStr:%@",originStr,_assginStr);
    NSLog(@"地址打印\noriginStr:%p,\nassginStr:%p",originStr,_assginStr);
    
    originStr = nil;
    
    NSLog(@"内容打印\noriginStr:%@,\nassginStr:%@",originStr,_assginStr);
    NSLog(@"地址打印\noriginStr:%p,\nassginStr:%p",originStr,_assginStr);
  • 结论
    程序为引起崩溃

  • 问题二

//    NSMutableString *originStr = [[NSMutableString alloc] initWithFormat:@"小明"];
    
    NSString *originStr = @"小明";
    
    self.assginStr = originStr;
    
    NSLog(@"内容打印\noriginStr:%@,\nassginStr:%@",originStr,_assginStr);
    NSLog(@"地址打印\noriginStr:%p,\nassginStr:%p",originStr,_assginStr);
    
    originStr = nil;
    
    NSLog(@"内容打印\noriginStr:%@,\nassginStr:%@",originStr,_assginStr);
    NSLog(@"地址打印\noriginStr:%p,\nassginStr:%p",originStr,_assginStr);
  • 结论
    程序正常运行

大致可以涉及的几个知识点

  1. NSMutableStringNSString和特殊内存?
  2. NSString创建英文字母字符串长度?
  3. assign修改的相关问题?
  4. self.assginStr = originStr_assginStr = originStr的不同?
  5. NSString使用CopyStrong的知识?

今天的相关知识就到这里,欢迎大家讨论NSString的基础面试

相关文章

网友评论

    本文标题:iOS中NSString的相关基础面试

    本文链接:https://www.haomeiwen.com/subject/wfrtjctx.html