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 = @"Continent";
}
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:@"CountryData" ofType:@"plist"]];
</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]