2017-03-18 37 views
1

我是相当新的IOS编程 服务器所以我甚至不知道怎么问究竟 但我会解释这个问题 我创造了主要依靠从获取数据的应用有时服务器的json的大小太大 有没有办法在设备上保存json,而不是带来,但最近的数据或只能工作与服务器同步 该程序是客观的c和我使用网络化 后端是ASP.net -mvc有没有办法来缓解连接到

回答

0

处理此用例的一般方法是,您总是将latestItemId/latestItemTimestamp存储在您的应用程序中,并且每次需要获取ne时w数据,您可以使用此信息拨打服务器电话。在您的服务器端点中,您使用此id/timestamp并在此id/timestamp后获取数据。

当应用程序首次请求api端点时,latestItemId的值将为0.每次获取数据后,都会不断更新它。由于您要求服务器仅在特定ID后提供数据,因此您只能获得所需的数据(最新数据)

例如,您的服务器代码可能看起来像(使用EF和LINQ)(以下代码是给你一个想法,我没有检查编译错误

public List<string> Messages(int fromId=0,int top=20) 
{ 
    var d = yourDbContext.Messages 
         .Where(x=>x.Id>fromId) 
         .OrderBy(f=>f.InsertTime) 
         .Take(top) 
         .Select(c=>c.MessageBody) 
         .ToList(); 
    return d; 
} 

从IOS客户端应用程序方面,你可以保持数据(latestId)的应用程序存储和/或使用NSUserDefaults储存。 NSUserDefaults.standardUserDefaults()方法可能有帮助(在Swift中)

相关问题