菜鸟教程小白 发表于 2022-12-12 17:22:04

ios - 为什么使用 viewWithTag 进行转换时没有警告?


                                            <p><p>例如,</p>

<blockquote>
<p>UIImageView *iconView = ;</p>
</blockquote>

<p>我记得如果我不明确地转换类型,之前会有警告,但现在 Xcode 没有显示,我的 Xcode 版本是 7.1.1,这是一个新功能还是我修改了一些配置?谁能告诉我为什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>Objective-C 中有一个新的(Xcode 7)关键字,<code>__kindof</code>,可以让您更好地表达方法的返回值。代替 <code>viewWithTag:</code> 返回 <code>UIView *</code>,它可以返回 <code>__kindof UIView *</code> 告诉编译器类似:</p>

<blockquote>
<p>Accept any implicit downcast of the return type if the type is a <code>UIView</code> <strong>or a subclass of <code>UIView</code></strong>.</p>
</blockquote>

<p>由于 <code>UIImageView</code> 是 <code>UIView</code> 的子类,因此不需要显式转换。另一方面,以下代码行将导致编译器错误,因为 <code>NSDate</code> 不是 <code>UIView</code> 的子类:</p>

<pre><code>NSDate *date = ;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 为什么使用 viewWithTag 进行转换时没有警告?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33885018/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33885018/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 为什么使用 viewWithTag 进行转换时没有警告?