菜鸟教程小白 发表于 2022-12-12 23:04:03

iphone - 有没有办法在不进行硬编码的情况下缩短我的 Country ViewController.m?


                                            <p><p>我想知道是否有办法缩短我的 CountryViewController.m,因为每次添加新国家/地区时我都会添加另一个 else if 语句。</p>

<p>我正在使用一个 UITableViews 来推送一个新的表格 View 。</p>

<pre><code>RootViewController.m

- (void)viewDidLoad
{
    ;
    
    self.tableView = [ initWithFrame:CGRectZero style:UITableViewStyleGrouped];
    
    ASIA   = [ init];
    EU   = [ init];

    ;
    ;
    ;
    ;
    ;
    ;

    self.title = @&#34;Continent&#34;;
}

CountryViewController.m

- (void)viewWillAppear:(BOOL)animated
{
    ;

    if () {
      _listOfCities = [ init];
      ;
      ;
    }

    else if (){
      _listOfCities = [ init];
      ;
    }

    else if (){
      _listOfCities = [ init];
      ;
    }

    else if (){
      _listOfCities = [ init];
      ;
      ;
    }

    else if (){
      _listOfCities = [ init];
      ;
    }

    else if (){
      _listOfCities = [ init];
      ;
    }

    ;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>一个简单的方法是使用 <a href="https://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/index.html" rel="noreferrer noopener nofollow">property list</a>并将其作为捆绑资源包含(即只需将其添加到您的项目中)。</p>

<p>例如,如果您的属性列表如下所示:
<img src="/image/dAwYD.png" alt="enter image description here"/> </p>

<p>然后您可以使用 </p> 加载它

<pre><code>countries = pathForResource:@&#34;CountryData&#34; ofType:@&#34;plist&#34;]];
</code></pre>

<p>并将其用作普通字典或数组,即</p>

<pre><code>- (void)viewWillAppear:(BOOL)animated
{
    ;

    NSString* countryName = self.title;
    NSDictionary* country = ;
    NSArray* cities = ;
    NSString* continent = ;
    _listOfCities = cities;

    ;
}
</code></pre>

<p>Plist 文件可以在 XCode 中轻松编辑。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 有没有办法在不进行硬编码的情况下缩短我的 Country ViewController.m?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12824214/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12824214/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 有没有办法在不进行硬编码的情况下缩短我的 Country ViewController.m?